[dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library

Xie, Huawei huawei.xie at intel.com
Wed Aug 27 07:56:31 CEST 2014



> -----Original Message-----
> From: Tetsuya.Mukawa [mailto:mukawa at igel.co.jp]
> Sent: Wednesday, August 27, 2014 1:28 PM
> To: Ouyang, Changchun; dev at dpdk.org
> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro at lab.ntt.co.jp;
> Hitoshi Masutani
> Subject: Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into
> DPDK vhost library
> 
> Hi Changchun,
> 
> (2014/08/27 14:01), Ouyang, Changchun wrote:
> > Agree with you, the performance should be same as the data path (RX/TX) is
> not affected,
> > The difference between implementation only exists in the virtio device
> creation and destroy stage.
> Yes, I agree. Also There may be the difference, if a virtio-net driver
> on a guest isn't poll mode like a virtio-net device driver in the
> kernel. In the case, existing vhost implementation uses the eventfd
> kernel module, and vhost-user implementation uses eventfd to kick the
> driver. So I guess there will be the difference.
For virtio-net device driver, there is still no difference. Existing solution creates an eventfd module to install a fd in DPDK process pointing to the eventfd in qemu process. In vhost-user, the UNIX domain socket will do that work, create a new fd, install it in target DPDK server process, and make it point to the eventfd in qemu process.
> 
> Anyway, about device creation and destruction, the difference will come
> from transmission speed between unix domain socket and CUSE. I am not
> sure which is faster.
> 
> Thanks,
> Tetsuya
> 
> 
> >
> > Regards,
> > Changchun
> >
> >> -----Original Message-----
> >> From: Tetsuya.Mukawa [mailto:mukawa at igel.co.jp]
> >> Sent: Wednesday, August 27, 2014 12:39 PM
> >> To: Ouyang, Changchun; dev at dpdk.org
> >> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro at lab.ntt.co.jp;
> >> Hitoshi Masutani
> >> Subject: Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into
> >> DPDK vhost library
> >>
> >>
> >> (2014/08/27 9:43), Ouyang, Changchun wrote:
> >>> Do we have performance comparison between both implementation?
> >> Hi Changchun,
> >>
> >> If DPDK applications are running on both guest and host side, the
> >> performance should be almost same, because while transmitting data virt
> >> queues are accessed by virtio-net PMD and libvhost. In libvhost, the existing
> >> vhost implementation and a vhost-user implementation will shares or uses
> >> same code to access virt queues. So I guess the performance will be almost
> >> same.
> >>
> >> Thanks,
> >> Tetsuya
> >>
> >>
> >>> Thanks
> >>> Changchun
> >>>
> >>>
> >>> -----Original Message-----
> >>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Xie, Huawei
> >>> Sent: Tuesday, August 26, 2014 7:06 PM
> >>> To: dev at dpdk.org
> >>> Subject: Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user
> >>> support into DPDK vhost library
> >>>
> >>> Hi all:
> >>> We are implementing qemu official vhost-user interface into DPDK vhost
> >> library, so there would be two coexisting implementations for user space
> >> vhost backend.
> >>> Pro and cons in my mind:
> >>> Existing solution:
> >>> Pros:  works with qemu version before 2.1;  Cons: depends on eventfd
> >> proxy kernel module and extra maintenance effort Qemu vhost-user:
> >>>                Pros:  qemu official us-vhost interface;     Cons: only available after
> >> qemu 2.1
> >>> BR.
> >>> huawei



More information about the dev mailing list