[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-25 Thread Michael S. Tsirkin
On Sat, Sep 24, 2016 at 06:50:07PM -0700, Stephen Hemminger wrote: > On Sun, 25 Sep 2016 04:02:28 +0300 > "Michael S. Tsirkin" wrote: > > > I see. It's implied by VERSION_1 in fact. > > In other words if VERSION_1 is negotiated then bit 27 > > isn't ANY_LAYOUT, it's in fact reserved. > > > But

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-25 Thread Michael S. Tsirkin
On Fri, Sep 23, 2016 at 01:28:05PM -0700, Stephen Hemminger wrote: > On Fri, 23 Sep 2016 21:31:27 +0300 > "Michael S. Tsirkin" wrote: > > > On Fri, Sep 23, 2016 at 11:24:16AM -0700, Stephen Hemminger wrote: > > > On Fri, 23 Sep 2016 09:16:49 +0200 > > > Maxime Coquelin wrote: > > > > > > > In

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-24 Thread Stephen Hemminger
On Sun, 25 Sep 2016 04:02:28 +0300 "Michael S. Tsirkin" wrote: > I see. It's implied by VERSION_1 in fact. > In other words if VERSION_1 is negotiated then bit 27 > isn't ANY_LAYOUT, it's in fact reserved. But what if guest isn't using Version 1? Legacy distro's certainly won't have it enabled.

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Michael S. Tsirkin
On Fri, Sep 23, 2016 at 11:24:16AM -0700, Stephen Hemminger wrote: > On Fri, 23 Sep 2016 09:16:49 +0200 > Maxime Coquelin wrote: > > > Indirect descriptors are usually supported by virtio-net devices, > > allowing to dispatch a larger number of requests. > > > > When the virtio device sends a pa

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Yuanhan Liu
On Fri, Sep 23, 2016 at 09:16:49AM +0200, Maxime Coquelin wrote: > + if (vq->desc[desc_indexes[i]].flags & VRING_DESC_F_INDIRECT) { > + if (unlikely(!(dev->features & > + (1ULL << > VIRTIO_RING_F_INDIRECT_DESC { > +

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Stephen Hemminger
On Fri, 23 Sep 2016 21:31:27 +0300 "Michael S. Tsirkin" wrote: > On Fri, Sep 23, 2016 at 11:24:16AM -0700, Stephen Hemminger wrote: > > On Fri, 23 Sep 2016 09:16:49 +0200 > > Maxime Coquelin wrote: > > > > > Indirect descriptors are usually supported by virtio-net devices, > > > allowing to d

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Stephen Hemminger
On Fri, 23 Sep 2016 09:16:49 +0200 Maxime Coquelin wrote: > Indirect descriptors are usually supported by virtio-net devices, > allowing to dispatch a larger number of requests. > > When the virtio device sends a packet using indirect descriptors, > only one slot is used in the ring, even for la

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Maxime Coquelin
On 09/23/2016 09:29 AM, Yuanhan Liu wrote: > On Fri, Sep 23, 2016 at 09:16:49AM +0200, Maxime Coquelin wrote: >> +if (vq->desc[desc_indexes[i]].flags & VRING_DESC_F_INDIRECT) { >> +if (unlikely(!(dev->features & >> +(1ULL << >>

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Maxime Coquelin
Indirect descriptors are usually supported by virtio-net devices, allowing to dispatch a larger number of requests. When the virtio device sends a packet using indirect descriptors, only one slot is used in the ring, even for large packets. The main effect is to improve the 0% packet loss benchma