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

Ouyang, Changchun changchun.ouyang at intel.com
Fri Oct 17 05:15:22 CEST 2014


No problem, I will investigate the root cause.

But before figuring out the root cause, I think we could add check in your new sample to
Check the INC_VEC is enable or not, If it is enabled, print error message and hint user 
Disable it in config file if mergeable feature is triggered in vhost. Then this issue should not 
block you from sending out your vhost app patch.

Your vhost app patch will block my another patch about multicast feature as your vhost lib patch delete the vhost sample app totally.
So expect your vhost app patch send out soon.

Thanks and regards,
Changchun


-----Original Message-----
From: Xie, Huawei 
Sent: Thursday, October 16, 2014 3:20 AM
To: Ouyang, Changchun; Thomas Monjalon; dev at dpdk.org
Cc: Cao, Waterman; Richardson, Bruce
Subject: RE: [PATCH] vhost: Fix the vhost broken issue

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