[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2016-01-27 Thread Yuanhan Liu
On Wed, Jan 27, 2016 at 06:12:22AM +, Xie, Huawei wrote: > On 1/27/2016 11:26 AM, Yuanhan Liu wrote: > > On Tue, Jan 26, 2016 at 10:30:12AM +, Xie, Huawei wrote: > >> On 12/3/2015 2:03 PM, Yuanhan Liu wrote: > >>> Signed-off-by: Yuanhan Liu > >>> --- > >>> lib/librte_vhost/vhost_rxtx.c |

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2016-01-27 Thread Yuanhan Liu
On Tue, Jan 26, 2016 at 10:30:12AM +, Xie, Huawei wrote: > On 12/3/2015 2:03 PM, Yuanhan Liu wrote: > > Signed-off-by: Yuanhan Liu > > --- > > lib/librte_vhost/vhost_rxtx.c | 287 > > +- > > 1 file changed, 113 insertions(+), 174 deletions(-) > >

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2016-01-27 Thread Xie, Huawei
On 1/27/2016 11:26 AM, Yuanhan Liu wrote: > On Tue, Jan 26, 2016 at 10:30:12AM +, Xie, Huawei wrote: >> On 12/3/2015 2:03 PM, Yuanhan Liu wrote: >>> Signed-off-by: Yuanhan Liu >>> --- >>> lib/librte_vhost/vhost_rxtx.c | 287 >>> +- >>> 1 file changed,

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2016-01-26 Thread Xie, Huawei
On 12/3/2015 2:03 PM, Yuanhan Liu wrote: > Signed-off-by: Yuanhan Liu > --- > lib/librte_vhost/vhost_rxtx.c | 287 > +- > 1 file changed, 113 insertions(+), 174 deletions(-) Prefer to unroll copy_mbuf_to_desc and your COPY macro. It prevents us

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2015-12-14 Thread Yuanhan Liu
On Fri, Dec 11, 2015 at 10:55:48PM -0800, Rich Lane wrote: > On Wed, Dec 2, 2015 at 10:06 PM, Yuanhan Liu > wrote: > > +static inline struct rte_mbuf * > +copy_desc_to_mbuf(struct virtio_net *dev, struct vhost_virtqueue *vq, > +? ? ? ? ? ? ? ? ?uint16_t desc_idx, struct rte_mempool

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2015-12-11 Thread Rich Lane
On Wed, Dec 2, 2015 at 10:06 PM, Yuanhan Liu wrote: > > +static inline struct rte_mbuf * > +copy_desc_to_mbuf(struct virtio_net *dev, struct vhost_virtqueue *vq, > + uint16_t desc_idx, struct rte_mempool *mbuf_pool) > +{ > ... > + > + desc = >desc[desc_idx]; > +

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2015-12-03 Thread Yuanhan Liu
On Wed, Dec 02, 2015 at 11:02:44PM -0800, Stephen Hemminger wrote: > On Thu, 3 Dec 2015 14:06:09 +0800 > Yuanhan Liu wrote: > > > +#define COPY(dst, src) do { > > \ > > + cpy_len = RTE_MIN(desc_avail, mbuf_avail); \ > > +

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2015-12-03 Thread Yuanhan Liu
The current rte_vhost_dequeue_burst() implementation is a bit messy and logic twisted. And you could see repeat code here and there: it invokes rte_pktmbuf_alloc() 3 at three different places! However, rte_vhost_dequeue_burst() acutally does a simple job: copy the packet data from vring desc to

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2015-12-02 Thread Stephen Hemminger
On Thu, 3 Dec 2015 14:06:09 +0800 Yuanhan Liu wrote: > + rte_prefetch0((void *)(uintptr_t)desc_addr); Another unnecessary set of casts.

[dpdk-dev] [PATCH 1/5] vhost: refactor rte_vhost_dequeue_burst

2015-12-02 Thread Stephen Hemminger
On Thu, 3 Dec 2015 14:06:09 +0800 Yuanhan Liu wrote: > +#define COPY(dst, src) do { \ > + cpy_len = RTE_MIN(desc_avail, mbuf_avail); \ > + rte_memcpy((void *)(uintptr_t)(dst),\ > +