[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 0/2] virtio-vhost-user: add virtio-vhost-user devi
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [RFC 0/2] virtio-vhost-user: add virtio-vhost-user device |
Date: |
Fri, 26 Jan 2018 14:44:29 +0000 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Thu, Jan 25, 2018 at 06:19:13PM +0800, Wei Wang wrote:
> On 01/24/2018 07:40 PM, Stefan Hajnoczi wrote:
> > On Tue, Jan 23, 2018 at 09:06:49PM +0800, Wei Wang wrote:
> > > On 01/23/2018 07:12 PM, Stefan Hajnoczi wrote:
> > > > On Mon, Jan 22, 2018 at 07:09:06PM +0800, Wei Wang wrote:
> > > > > On 01/19/2018 09:06 PM, Stefan Hajnoczi wrote:
> > > > >
> > > > >
> > > > > - Suppose in the future there is also a kernel virtio-vhost-user
> > > > > driver as
> > > > > other PCI devices, can we unbind the kernel driver first, and then
> > > > > bind the
> > > > > device to the dpdk driver? A normal PCI device should be able to
> > > > > smoothly
> > > > > switch between the kernel driver and dpdk driver.
> > > > It depends what you mean by "smoothly switch".
> > > >
> > > > If you mean whether it's possible to go from a kernel driver to
> > > > vfio-pci, then the answer is yes.
> > > >
> > > > But if the kernel driver has an established vhost-user connection then
> > > > it will be closed. This is the same as reconnecting with AF_UNIX
> > > > vhost-user.
> > > >
> > > Actually not only the case of switching to testpmd after kernel
> > > establishes
> > > the connection, but also for several runs of testpmd. That is, if we run
> > > testpmd, then exit testpmd. I think the second run of testpmd won't work.
> > The vhost-user master must reconnect and initialize again (SET_FEATURES,
> > SET_MEM_TABLE, etc). Is your master reconnecting after the AF_UNIX
> > connection is closed?
>
> Is this an explicit qmp operation to make the master re-connect?
I haven't tested it myself but I'm aware of two modes of operation:
1. -chardev socket,id=chardev0,...,server
-netdev vhost-user,chardev=chardev0
When the vhost-user socket is disconnected the peer needs to
reconnect. In this case no special commands are necessary.
Here we're relying on DPDK librte_vhost's reconnection behavior.
Or
2. -chardev socket,id=chardev0,...,reconnect=3
-netdev vhost-user,chardev=chardev0
When the vhost-user socket is disconnected a new connection attempt
will be made after 3 seconds.
In both cases vhost-user negotiation will resume when the new connection
is established.
Stefan
signature.asc
Description: PGP signature
Re: [Qemu-devel] [RFC 0/2] virtio-vhost-user: add virtio-vhost-user device, Wei Wang, 2018/01/22