[dpdk-dev] [PATCH] vhost: Fix the vhost broken issue

Xie, Huawei huawei.xie at intel.com
Wed Oct 15 21:20:23 CEST 2014


I generated the vhost example patch based on vhost library, but find there is issue with --mergeable feature.
Only thousands of packets could be sent.
Then I tried the latest vhost example,  which is just before my vhost lib patch, I found that not only it has the issue
Which is fixed by the following patch but the --mergeable feature also doesn't work.
Haven't got the change to dig into it.

Hints here:
1. mbuf allocation failure after thousands of packets.
2. disable INC_VEC(vectore scatter receive) in configure could solve this.
3. tried sending the packets directly out after receiving from vmdq queue, it works.

Could you root cause the issue, Changchun? You could work on the most recent example.

> -----Original Message-----
> From: Ouyang, Changchun
> Sent: Monday, October 13, 2014 12:48 AM
> To: Thomas Monjalon; dev at dpdk.org
> Cc: Xie, Huawei; Cao, Waterman; Ouyang, Changchun
> Subject: RE: [PATCH] vhost: Fix the vhost broken issue
> 
> Hi Thomas,
> 
> If HuaweiXie's patch set for vhost library and new vhost sample could be applied
> into dpdk.org very soon,
> Then this patch could be depressed/superseded, I think his patch can fix this
> issue.
> Otherwise, this patch could be high priority as the vhost is broken in the tip code
> due to recent commit related to mbuf change.
> 
> Thanks and regards,
> Changchun
> 
> > -----Original Message-----
> > From: Ouyang, Changchun
> > Sent: Monday, October 13, 2014 3:40 PM
> > To: dev at dpdk.org
> > Cc: Cao, Waterman; Ouyang, Changchun
> > Subject: [PATCH] vhost: Fix the vhost broken issue
> >
> > As the vhost sample is broken by the following commit,
> >   commit 08b563ffb19d8baf59dd84200f25bc85031d18a7
> >   Author: Olivier Matz <olivier.matz at 6wind.com>
> >   Date:   Thu Sep 11 14:15:35 2014 +0100
> >   mbuf: replace data pointer by an offset
> >
> > It leads to segment fault error in vhost when binding a virtio device MAC
> > address to its corresponding VMDq pool by executing command line 'start tx-
> > first' in test-pmd on guest.
> >
> > This patch fixes that issue.
> >
> > Signed-off-by: Changchun Ouyang <changchun.ouyang at intel.com>
> > ---
> >  examples/vhost/main.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/examples/vhost/main.c b/examples/vhost/main.c index
> > 9cf8e20..a6db607 100644
> > --- a/examples/vhost/main.c
> > +++ b/examples/vhost/main.c
> > @@ -1782,6 +1782,7 @@ virtio_dev_tx(struct virtio_net* dev, struct
> > rte_mempool *mbuf_pool)
> >  		/* Setup dummy mbuf. This is copied to a real mbuf if
> > transmitted out the physical port. */
> >  		m.data_len = desc->len;
> >  		m.pkt_len = desc->len;
> > +		m.buf_addr = (void *)(uintptr_t)buff_addr;
> >  		m.data_off = 0;
> >
> >  		PRINT_PACKET(dev, (uintptr_t)buff_addr, desc->len, 0);
> > --
> > 1.8.4.2



More information about the dev mailing list