[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-13 Thread Tetsuya Mukawa
On 2015/11/13 13:03, Rich Lane wrote: >> + if (rte_kvargs_count(kvlist, ETH_VHOST_IFACE_ARG) == 1) { >> + ret = rte_kvargs_process(kvlist, ETH_VHOST_IFACE_ARG, >> +&open_iface, &iface_name); >> + if (ret < 0) >> +

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-13 Thread Tetsuya Mukawa
On 2015/11/12 21:52, Wang, Zhihong wrote: > Hi Tetsuya, > > In my test I created 2 vdev using "--vdev > 'eth_vhost0,iface=/tmp/sock0,queues=1' --vdev > 'eth_vhost1,iface=/tmp/sock1,queues=1'", and the qemu message got handled in > wrong order. > The reason is that: 2 threads are created to handl

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-13 Thread Wang, Zhihong
> -Original Message- > From: Tetsuya Mukawa [mailto:mukawa at igel.co.jp] > Sent: Friday, November 13, 2015 11:10 AM > To: Wang, Zhihong ; dev at dpdk.org; Liu, Yuanhan > > Cc: ann.zhuangyanying at huawei.com > Subject: Re: [dpdk-dev] [PATCH v3 2/2] vhost: Add VHOS

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-12 Thread Rich Lane
> > + if (rte_kvargs_count(kvlist, ETH_VHOST_IFACE_ARG) == 1) { > + ret = rte_kvargs_process(kvlist, ETH_VHOST_IFACE_ARG, > +&open_iface, &iface_name); > + if (ret < 0) > + goto out_free; > + } >

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-12 Thread Wang, Zhihong
Hi Tetsuya, In my test I created 2 vdev using "--vdev 'eth_vhost0,iface=/tmp/sock0,queues=1' --vdev 'eth_vhost1,iface=/tmp/sock1,queues=1'", and the qemu message got handled in wrong order. The reason is that: 2 threads are created to handle message from 2 sockets, but their fds are SHARED, so

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-10 Thread Tetsuya Mukawa
On 2015/11/10 7:22, Stephen Hemminger wrote: > On Mon, 9 Nov 2015 14:17:01 +0900 > Tetsuya Mukawa wrote: > >> +rte_atomic32_set(&r->while_queuing, 1); >> + >> +if (unlikely(rte_atomic32_read(&r->allow_queuing) == 0)) >> +goto out; > You special 2 variable custom locking here i

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-09 Thread Tetsuya Mukawa
Hi Liu, Thank you so much for your reviewing. I will fix them, then submit again in this week. Thanks, Tetsuya On 2015/11/09 15:21, Yuanhan Liu wrote: > Hi Tetsuya, > > Here I just got some minor nits after a very rough glimpse. > > On Mon, Nov 09, 2015 at 02:17:01PM +0900, Tetsuya Mukawa wrote

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-09 Thread Stephen Hemminger
On Mon, 9 Nov 2015 14:17:01 +0900 Tetsuya Mukawa wrote: > + rte_atomic32_set(&r->while_queuing, 1); > + > + if (unlikely(rte_atomic32_read(&r->allow_queuing) == 0)) > + goto out; You special 2 variable custom locking here is buggy. If you hit second atomic test, you will lea

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-09 Thread Yuanhan Liu
Hi Tetsuya, Here I just got some minor nits after a very rough glimpse. On Mon, Nov 09, 2015 at 02:17:01PM +0900, Tetsuya Mukawa wrote: ... > +static uint16_t > +eth_vhost_rx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) > +{ > + struct vhost_queue *r = q; > + uint16_t nb_rx = 0; > +

[dpdk-dev] [PATCH v3 2/2] vhost: Add VHOST PMD

2015-11-09 Thread Tetsuya Mukawa
The patch introduces a new PMD. This PMD is implemented as thin wrapper of librte_vhost. It means librte_vhost is also needed to compile the PMD. The vhost messages will be handled only when a port is started. So start a port first, then invoke QEMU. The PMD has 2 parameters. - iface: The parame