All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] vhost: disable indirect descriptors feature
@ 2016-10-17 15:10 Maxime Coquelin
  2016-10-18  7:04 ` Maxime Coquelin
  0 siblings, 1 reply; 5+ messages in thread
From: Maxime Coquelin @ 2016-10-17 15:10 UTC (permalink / raw)
  To: yuanhan.liu, dev; +Cc: zhihong.wang, ciara.loftus, Maxime Coquelin

Commit 2304dd73d287 ("vhost: support indirect Tx descriptors")
adds support for indirect descriptors for Tx, but not for Rx.

The problem is that it does not work with windows guests, which
uses indirect descriptors for the Rx, and also with Linux guests
when using kernel driver with mergeable buffers feature disabled.

While indirect descriptors support is also added to the Rx path,
let's disable the feature.

Reported-by: Zhihong Wang <zhihong.wang@intel.com>
Reported-by: Ciara Loftus <ciara.loftus@intel.com>
Cc: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
index 469117a..f5f8f92 100644
--- a/lib/librte_vhost/vhost.c
+++ b/lib/librte_vhost/vhost.c
@@ -65,8 +65,7 @@
 				(1ULL << VIRTIO_NET_F_CSUM)    | \
 				(1ULL << VIRTIO_NET_F_GUEST_CSUM) | \
 				(1ULL << VIRTIO_NET_F_GUEST_TSO4) | \
-				(1ULL << VIRTIO_NET_F_GUEST_TSO6) | \
-				(1ULL << VIRTIO_RING_F_INDIRECT_DESC))
+				(1ULL << VIRTIO_NET_F_GUEST_TSO6))
 
 uint64_t VHOST_FEATURES = VHOST_SUPPORTED_FEATURES;
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] vhost: disable indirect descriptors feature
  2016-10-17 15:10 [PATCH] vhost: disable indirect descriptors feature Maxime Coquelin
@ 2016-10-18  7:04 ` Maxime Coquelin
  2016-10-18  8:12   ` Yuanhan Liu
  0 siblings, 1 reply; 5+ messages in thread
From: Maxime Coquelin @ 2016-10-18  7:04 UTC (permalink / raw)
  To: yuanhan.liu, dev; +Cc: zhihong.wang, ciara.loftus

Hi Yuanhan,

On 10/17/2016 05:10 PM, Maxime Coquelin wrote:
> Commit 2304dd73d287 ("vhost: support indirect Tx descriptors")
> adds support for indirect descriptors for Tx, but not for Rx.
>
> The problem is that it does not work with windows guests, which
> uses indirect descriptors for the Rx, and also with Linux guests
> when using kernel driver with mergeable buffers feature disabled.
>
> While indirect descriptors support is also added to the Rx path,
> let's disable the feature.
>
> Reported-by: Zhihong Wang <zhihong.wang@intel.com>
> Reported-by: Ciara Loftus <ciara.loftus@intel.com>
> Cc: Yuanhan Liu <yuanhan.liu@linux.intel.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
>  lib/librte_vhost/vhost.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
> index 469117a..f5f8f92 100644
> --- a/lib/librte_vhost/vhost.c
> +++ b/lib/librte_vhost/vhost.c
> @@ -65,8 +65,7 @@
>  				(1ULL << VIRTIO_NET_F_CSUM)    | \
>  				(1ULL << VIRTIO_NET_F_GUEST_CSUM) | \
>  				(1ULL << VIRTIO_NET_F_GUEST_TSO4) | \
> -				(1ULL << VIRTIO_NET_F_GUEST_TSO6) | \
> -				(1ULL << VIRTIO_RING_F_INDIRECT_DESC))
> +				(1ULL << VIRTIO_NET_F_GUEST_TSO6))
>
>  uint64_t VHOST_FEATURES = VHOST_SUPPORTED_FEATURES;

I have implemented Indirect descs for the Rx path yesterday.
It deserves more testing, but early tests show it fix the issues found
with VIRTIO_RING_F_INDIRECT_DESC (both with and without mergeable
buffers).


Thanks to Zhihong series you reworked, the changes to be done for
mergeable buffers case is greatly simplified.
I'll send the series later today.

Thanks,
Maxime

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] vhost: disable indirect descriptors feature
  2016-10-18  7:04 ` Maxime Coquelin
@ 2016-10-18  8:12   ` Yuanhan Liu
  2016-10-18  8:13     ` Maxime Coquelin
  0 siblings, 1 reply; 5+ messages in thread
From: Yuanhan Liu @ 2016-10-18  8:12 UTC (permalink / raw)
  To: Maxime Coquelin; +Cc: dev, zhihong.wang, ciara.loftus

On Tue, Oct 18, 2016 at 09:04:44AM +0200, Maxime Coquelin wrote:
> Hi Yuanhan,
> 
> On 10/17/2016 05:10 PM, Maxime Coquelin wrote:
> >Commit 2304dd73d287 ("vhost: support indirect Tx descriptors")
> >adds support for indirect descriptors for Tx, but not for Rx.
> >
> >The problem is that it does not work with windows guests, which
> >uses indirect descriptors for the Rx, and also with Linux guests
> >when using kernel driver with mergeable buffers feature disabled.
> >
> >While indirect descriptors support is also added to the Rx path,
> >let's disable the feature.
> >
> >Reported-by: Zhihong Wang <zhihong.wang@intel.com>
> >Reported-by: Ciara Loftus <ciara.loftus@intel.com>
> >Cc: Yuanhan Liu <yuanhan.liu@linux.intel.com>
> >Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> >---
> > lib/librte_vhost/vhost.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> >diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
> >index 469117a..f5f8f92 100644
> >--- a/lib/librte_vhost/vhost.c
> >+++ b/lib/librte_vhost/vhost.c
> >@@ -65,8 +65,7 @@
> > 				(1ULL << VIRTIO_NET_F_CSUM)    | \
> > 				(1ULL << VIRTIO_NET_F_GUEST_CSUM) | \
> > 				(1ULL << VIRTIO_NET_F_GUEST_TSO4) | \
> >-				(1ULL << VIRTIO_NET_F_GUEST_TSO6) | \
> >-				(1ULL << VIRTIO_RING_F_INDIRECT_DESC))
> >+				(1ULL << VIRTIO_NET_F_GUEST_TSO6))
> >
> > uint64_t VHOST_FEATURES = VHOST_SUPPORTED_FEATURES;
> 
> I have implemented Indirect descs for the Rx path yesterday.
> It deserves more testing, but early tests show it fix the issues found
> with VIRTIO_RING_F_INDIRECT_DESC (both with and without mergeable
> buffers).
> 
> 
> Thanks to Zhihong series you reworked, the changes to be done for
> mergeable buffers case is greatly simplified.
> I'll send the series later today.

Do you mean the v6 from Zhihong? Unluckily, it will not be merged. That
series has been simplified to not rewrite the enqueue from scratch. See
V7.

For this patch, I think you should also update (or remove?) the related
section in the release note.

	--yliu

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] vhost: disable indirect descriptors feature
  2016-10-18  8:12   ` Yuanhan Liu
@ 2016-10-18  8:13     ` Maxime Coquelin
  2016-10-18  8:30       ` Yuanhan Liu
  0 siblings, 1 reply; 5+ messages in thread
From: Maxime Coquelin @ 2016-10-18  8:13 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: dev, zhihong.wang, ciara.loftus



On 10/18/2016 10:12 AM, Yuanhan Liu wrote:
> On Tue, Oct 18, 2016 at 09:04:44AM +0200, Maxime Coquelin wrote:
>> Hi Yuanhan,
>>
>> On 10/17/2016 05:10 PM, Maxime Coquelin wrote:
>>> Commit 2304dd73d287 ("vhost: support indirect Tx descriptors")
>>> adds support for indirect descriptors for Tx, but not for Rx.
>>>
>>> The problem is that it does not work with windows guests, which
>>> uses indirect descriptors for the Rx, and also with Linux guests
>>> when using kernel driver with mergeable buffers feature disabled.
>>>
>>> While indirect descriptors support is also added to the Rx path,
>>> let's disable the feature.
>>>
>>> Reported-by: Zhihong Wang <zhihong.wang@intel.com>
>>> Reported-by: Ciara Loftus <ciara.loftus@intel.com>
>>> Cc: Yuanhan Liu <yuanhan.liu@linux.intel.com>
>>> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>>> ---
>>> lib/librte_vhost/vhost.c | 3 +--
>>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>>
>>> diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
>>> index 469117a..f5f8f92 100644
>>> --- a/lib/librte_vhost/vhost.c
>>> +++ b/lib/librte_vhost/vhost.c
>>> @@ -65,8 +65,7 @@
>>> 				(1ULL << VIRTIO_NET_F_CSUM)    | \
>>> 				(1ULL << VIRTIO_NET_F_GUEST_CSUM) | \
>>> 				(1ULL << VIRTIO_NET_F_GUEST_TSO4) | \
>>> -				(1ULL << VIRTIO_NET_F_GUEST_TSO6) | \
>>> -				(1ULL << VIRTIO_RING_F_INDIRECT_DESC))
>>> +				(1ULL << VIRTIO_NET_F_GUEST_TSO6))
>>>
>>> uint64_t VHOST_FEATURES = VHOST_SUPPORTED_FEATURES;
>>
>> I have implemented Indirect descs for the Rx path yesterday.
>> It deserves more testing, but early tests show it fix the issues found
>> with VIRTIO_RING_F_INDIRECT_DESC (both with and without mergeable
>> buffers).
>>
>>
>> Thanks to Zhihong series you reworked, the changes to be done for
>> mergeable buffers case is greatly simplified.
>> I'll send the series later today.
>
> Do you mean the v6 from Zhihong? Unluckily, it will not be merged. That
> series has been simplified to not rewrite the enqueue from scratch. See
> V7.
No, I meant the v7.

>
> For this patch, I think you should also update (or remove?) the related
> section in the release note.
Yes, sure.

Thanks,
Maxime

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] vhost: disable indirect descriptors feature
  2016-10-18  8:13     ` Maxime Coquelin
@ 2016-10-18  8:30       ` Yuanhan Liu
  0 siblings, 0 replies; 5+ messages in thread
From: Yuanhan Liu @ 2016-10-18  8:30 UTC (permalink / raw)
  To: Maxime Coquelin; +Cc: dev, zhihong.wang, ciara.loftus

On Tue, Oct 18, 2016 at 10:13:54AM +0200, Maxime Coquelin wrote:
> >>Thanks to Zhihong series you reworked, the changes to be done for
> >>mergeable buffers case is greatly simplified.
> >>I'll send the series later today.
> >
> >Do you mean the v6 from Zhihong? Unluckily, it will not be merged. That
> >series has been simplified to not rewrite the enqueue from scratch. See
> >V7.
> No, I meant the v7.

Oh, glad to know that the rework helps here :)

	--yliu
> 
> >
> >For this patch, I think you should also update (or remove?) the related
> >section in the release note.
> Yes, sure.
> 
> Thanks,
> Maxime

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-10-18  8:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-17 15:10 [PATCH] vhost: disable indirect descriptors feature Maxime Coquelin
2016-10-18  7:04 ` Maxime Coquelin
2016-10-18  8:12   ` Yuanhan Liu
2016-10-18  8:13     ` Maxime Coquelin
2016-10-18  8:30       ` Yuanhan Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.