* Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library
2014-08-27 5:27 ` Tetsuya.Mukawa
@ 2014-08-27 5:56 ` Xie, Huawei
2014-08-27 6:07 ` Tetsuya.Mukawa
2014-08-27 5:58 ` Tetsuya.Mukawa
2014-08-27 6:00 ` Ouyang, Changchun
2 siblings, 1 reply; 12+ messages in thread
From: Xie, Huawei @ 2014-08-27 5:56 UTC (permalink / raw)
To: Tetsuya.Mukawa, Ouyang, Changchun, dev
Cc: Katsuya MATSUBARA, nakajima.yoshihiro, Hitoshi Masutani
> -----Original Message-----
> From: Tetsuya.Mukawa [mailto:mukawa@igel.co.jp]
> Sent: Wednesday, August 27, 2014 1:28 PM
> To: Ouyang, Changchun; dev@dpdk.org
> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro@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@igel.co.jp]
> >> Sent: Wednesday, August 27, 2014 12:39 PM
> >> To: Ouyang, Changchun; dev@dpdk.org
> >> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro@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@dpdk.org] On Behalf Of Xie, Huawei
> >>> Sent: Tuesday, August 26, 2014 7:06 PM
> >>> To: dev@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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library
2014-08-27 5:56 ` Xie, Huawei
@ 2014-08-27 6:07 ` Tetsuya.Mukawa
0 siblings, 0 replies; 12+ messages in thread
From: Tetsuya.Mukawa @ 2014-08-27 6:07 UTC (permalink / raw)
To: Xie, Huawei, Ouyang, Changchun, dev
Cc: Katsuya MATSUBARA, nakajima.yoshihiro, Hitoshi Masutani
Hi Xie,
(2014/08/27 14:56), Xie, Huawei wrote:
> 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.
Thank you for explanation. I can understand clearly.
Thanks,
Tetsuya
>> 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@igel.co.jp]
>>>> Sent: Wednesday, August 27, 2014 12:39 PM
>>>> To: Ouyang, Changchun; dev@dpdk.org
>>>> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro@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@dpdk.org] On Behalf Of Xie, Huawei
>>>>> Sent: Tuesday, August 26, 2014 7:06 PM
>>>>> To: dev@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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library
2014-08-27 5:27 ` Tetsuya.Mukawa
2014-08-27 5:56 ` Xie, Huawei
@ 2014-08-27 5:58 ` Tetsuya.Mukawa
2014-08-27 6:00 ` Ouyang, Changchun
2 siblings, 0 replies; 12+ messages in thread
From: Tetsuya.Mukawa @ 2014-08-27 5:58 UTC (permalink / raw)
To: Ouyang, Changchun, dev
Cc: Katsuya MATSUBARA, nakajima.yoshihiro, Hitoshi Masutani
(2014/08/27 14:27), Tetsuya.Mukawa wrote:
> 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.
>
> 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.
Thank for pointing out my misleading expression.
Correct: transmission latency
Incorrect: transmission speed
Tetsuya,
>
> Thanks,
> Tetsuya
>
>
>> Regards,
>> Changchun
>>
>>> -----Original Message-----
>>> From: Tetsuya.Mukawa [mailto:mukawa@igel.co.jp]
>>> Sent: Wednesday, August 27, 2014 12:39 PM
>>> To: Ouyang, Changchun; dev@dpdk.org
>>> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro@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@dpdk.org] On Behalf Of Xie, Huawei
>>>> Sent: Tuesday, August 26, 2014 7:06 PM
>>>> To: dev@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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library
2014-08-27 5:27 ` Tetsuya.Mukawa
2014-08-27 5:56 ` Xie, Huawei
2014-08-27 5:58 ` Tetsuya.Mukawa
@ 2014-08-27 6:00 ` Ouyang, Changchun
2014-08-27 6:09 ` Tetsuya.Mukawa
2 siblings, 1 reply; 12+ messages in thread
From: Ouyang, Changchun @ 2014-08-27 6:00 UTC (permalink / raw)
To: Tetsuya.Mukawa, dev
Cc: Katsuya MATSUBARA, nakajima.yoshihiro, Hitoshi Masutani
> -----Original Message-----
> From: Tetsuya.Mukawa [mailto:mukawa@igel.co.jp]
> Sent: Wednesday, August 27, 2014 1:28 PM
> To: Ouyang, Changchun; dev@dpdk.org
> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro@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.
>
> 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.
Yes, it doesn't matter which one is faster for virtio device creation and destroy,
as it is not in data path.
> Thanks,
> Tetsuya
>
>
> >
> > Regards,
> > Changchun
> >
> >> -----Original Message-----
> >> From: Tetsuya.Mukawa [mailto:mukawa@igel.co.jp]
> >> Sent: Wednesday, August 27, 2014 12:39 PM
> >> To: Ouyang, Changchun; dev@dpdk.org
> >> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro@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@dpdk.org] On Behalf Of Xie, Huawei
> >>> Sent: Tuesday, August 26, 2014 7:06 PM
> >>> To: dev@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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library
2014-08-27 6:00 ` Ouyang, Changchun
@ 2014-08-27 6:09 ` Tetsuya.Mukawa
0 siblings, 0 replies; 12+ messages in thread
From: Tetsuya.Mukawa @ 2014-08-27 6:09 UTC (permalink / raw)
To: Ouyang, Changchun, dev
Cc: Katsuya MATSUBARA, nakajima.yoshihiro, Hitoshi Masutani
Hi Ouyang,
(2014/08/27 15:00), Ouyang, Changchun wrote:
> Yes, it doesn't matter which one is faster for virtio device creation
> and destroy, as it is not in data path.
I agree with you.
Thanks,
Tetsuya
>> Thanks,
>> Tetsuya
>>
>>
>>> Regards,
>>> Changchun
>>>
>>>> -----Original Message-----
>>>> From: Tetsuya.Mukawa [mailto:mukawa@igel.co.jp]
>>>> Sent: Wednesday, August 27, 2014 12:39 PM
>>>> To: Ouyang, Changchun; dev@dpdk.org
>>>> Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro@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@dpdk.org] On Behalf Of Xie, Huawei
>>>>> Sent: Tuesday, August 26, 2014 7:06 PM
>>>>> To: dev@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
^ permalink raw reply [flat|nested] 12+ messages in thread