* [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; @ 2015-08-24 3:54 Yuanhan Liu 2015-08-24 3:54 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu ` (4 more replies) 0 siblings, 5 replies; 16+ messages in thread From: Yuanhan Liu @ 2015-08-24 3:54 UTC (permalink / raw) To: dev Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> --- lib/librte_vhost/vhost_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c index 0d07338..d412293 100644 --- a/lib/librte_vhost/vhost_rxtx.c +++ b/lib/librte_vhost/vhost_rxtx.c @@ -185,7 +185,7 @@ virtio_dev_rx(struct virtio_net *dev, uint16_t queue_id, } } len_to_cpy = RTE_MIN(data_len - offset, desc->len - vb_offset); - }; + } /* Update used ring with desc information */ vq->used->ring[res_cur_idx & (vq->size - 1)].id = -- 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 2/4] vhost: fix typo 2015-08-24 3:54 [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Yuanhan Liu @ 2015-08-24 3:54 ` Yuanhan Liu 2015-09-09 1:24 ` Ouyang, Changchun 2015-09-09 5:19 ` Xie, Huawei 2015-08-24 3:54 ` [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code Yuanhan Liu ` (3 subsequent siblings) 4 siblings, 2 replies; 16+ messages in thread From: Yuanhan Liu @ 2015-08-24 3:54 UTC (permalink / raw) To: dev _det => _dev Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> --- lib/librte_vhost/virtio-net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c index b520ec5..b670992 100644 --- a/lib/librte_vhost/virtio-net.c +++ b/lib/librte_vhost/virtio-net.c @@ -485,7 +485,7 @@ set_vring_num(struct vhost_device_ctx ctx, struct vhost_vring_state *state) } /* - * Reallocate virtio_det and vhost_virtqueue data structure to make them on the + * Reallocate virtio_dev and vhost_virtqueue data structure to make them on the * same numa node as the memory of vring descriptor. */ #ifdef RTE_LIBRTE_VHOST_NUMA -- 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 2/4] vhost: fix typo 2015-08-24 3:54 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu @ 2015-09-09 1:24 ` Ouyang, Changchun 2015-09-09 5:19 ` Xie, Huawei 1 sibling, 0 replies; 16+ messages in thread From: Ouyang, Changchun @ 2015-09-09 1:24 UTC (permalink / raw) To: Yuanhan Liu, dev > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > Sent: Monday, August 24, 2015 11:55 AM > To: dev@dpdk.org > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > Subject: [PATCH 2/4] vhost: fix typo > > _det => _dev > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Changchun Ouyang <Changchun.ouyang@intel.com> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 2/4] vhost: fix typo 2015-08-24 3:54 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu 2015-09-09 1:24 ` Ouyang, Changchun @ 2015-09-09 5:19 ` Xie, Huawei 1 sibling, 0 replies; 16+ messages in thread From: Xie, Huawei @ 2015-09-09 5:19 UTC (permalink / raw) To: Yuanhan Liu, dev On 8/24/2015 11:54 AM, Yuanhan Liu wrote: > _det => _dev > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Huawei Xie <huawei.xie@intel.com> > --- > lib/librte_vhost/virtio-net.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c > index b520ec5..b670992 100644 > --- a/lib/librte_vhost/virtio-net.c > +++ b/lib/librte_vhost/virtio-net.c > @@ -485,7 +485,7 @@ set_vring_num(struct vhost_device_ctx ctx, struct vhost_vring_state *state) > } > > /* > - * Reallocate virtio_det and vhost_virtqueue data structure to make them on the > + * Reallocate virtio_dev and vhost_virtqueue data structure to make them on the > * same numa node as the memory of vring descriptor. > */ > #ifdef RTE_LIBRTE_VHOST_NUMA ^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code 2015-08-24 3:54 [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Yuanhan Liu 2015-08-24 3:54 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu @ 2015-08-24 3:54 ` Yuanhan Liu 2015-09-09 1:28 ` Ouyang, Changchun 2015-09-09 5:19 ` Xie, Huawei 2015-08-24 3:54 ` [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type Yuanhan Liu ` (2 subsequent siblings) 4 siblings, 2 replies; 16+ messages in thread From: Yuanhan Liu @ 2015-08-24 3:54 UTC (permalink / raw) To: dev Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> --- lib/librte_vhost/vhost_user/vhost-net-user.c | 36 ++++++++-------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/lib/librte_vhost/vhost_user/vhost-net-user.c b/lib/librte_vhost/vhost_user/vhost-net-user.c index f406a94..d1f8877 100644 --- a/lib/librte_vhost/vhost_user/vhost-net-user.c +++ b/lib/librte_vhost/vhost_user/vhost-net-user.c @@ -329,32 +329,16 @@ vserver_message_handler(int connfd, void *dat, int *remove) ctx.fh = cfd_ctx->fh; ret = read_vhost_message(connfd, &msg); - if (ret < 0) { - RTE_LOG(ERR, VHOST_CONFIG, - "vhost read message failed\n"); - - close(connfd); - *remove = 1; - free(cfd_ctx); - user_destroy_device(ctx); - ops->destroy_device(ctx); - - return; - } else if (ret == 0) { - RTE_LOG(INFO, VHOST_CONFIG, - "vhost peer closed\n"); - - close(connfd); - *remove = 1; - free(cfd_ctx); - user_destroy_device(ctx); - ops->destroy_device(ctx); - - return; - } - if (msg.request > VHOST_USER_MAX) { - RTE_LOG(ERR, VHOST_CONFIG, - "vhost read incorrect message\n"); + if (ret <= 0 || msg.request > VHOST_USER_MAX) { + if (ret < 0) + RTE_LOG(ERR, VHOST_CONFIG, + "vhost read message failed\n"); + else if (ret == 0) + RTE_LOG(INFO, VHOST_CONFIG, + "vhost peer closed\n"); + else + RTE_LOG(ERR, VHOST_CONFIG, + "vhost read incorrect message\n"); close(connfd); *remove = 1; -- 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code 2015-08-24 3:54 ` [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code Yuanhan Liu @ 2015-09-09 1:28 ` Ouyang, Changchun 2015-09-09 5:19 ` Xie, Huawei 1 sibling, 0 replies; 16+ messages in thread From: Ouyang, Changchun @ 2015-09-09 1:28 UTC (permalink / raw) To: Yuanhan Liu, dev > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > Sent: Monday, August 24, 2015 11:55 AM > To: dev@dpdk.org > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > Subject: [PATCH 3/4] vhost: get rid of duplicate code > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Changchun Ouyang <Changchun.ouyang@intel.com> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code 2015-08-24 3:54 ` [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code Yuanhan Liu 2015-09-09 1:28 ` Ouyang, Changchun @ 2015-09-09 5:19 ` Xie, Huawei 1 sibling, 0 replies; 16+ messages in thread From: Xie, Huawei @ 2015-09-09 5:19 UTC (permalink / raw) To: Yuanhan Liu, dev On 8/24/2015 11:54 AM, Yuanhan Liu wrote: > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Huawei Xie <huawei.xie@intel.com> > --- > lib/librte_vhost/vhost_user/vhost-net-user.c | 36 ++++++++-------------------- > 1 file changed, 10 insertions(+), 26 deletions(-) > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type 2015-08-24 3:54 [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Yuanhan Liu 2015-08-24 3:54 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu 2015-08-24 3:54 ` [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code Yuanhan Liu @ 2015-08-24 3:54 ` Yuanhan Liu 2015-09-09 1:43 ` Ouyang, Changchun 2015-09-09 2:41 ` Ouyang, Changchun 2015-09-09 1:49 ` [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Ouyang, Changchun 2015-09-09 5:20 ` Xie, Huawei 4 siblings, 2 replies; 16+ messages in thread From: Yuanhan Liu @ 2015-08-24 3:54 UTC (permalink / raw) To: dev So that we can remove the redundant (int) cast. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> --- examples/vhost/main.c | 6 ++--- lib/librte_vhost/rte_virtio_net.h | 4 ++-- lib/librte_vhost/vhost_rxtx.c | 6 ++--- lib/librte_vhost/vhost_user/virtio-net-user.c | 16 +++++++------- lib/librte_vhost/virtio-net.c | 32 +++++++++++++-------------- 5 files changed, 32 insertions(+), 32 deletions(-) diff --git a/examples/vhost/main.c b/examples/vhost/main.c index 1b137b9..b090b25 100644 --- a/examples/vhost/main.c +++ b/examples/vhost/main.c @@ -1433,7 +1433,7 @@ put_desc_to_used_list_zcp(struct vhost_virtqueue *vq, uint16_t desc_idx) /* Kick the guest if necessary. */ if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) - eventfd_write((int)vq->callfd, 1); + eventfd_write(vq->callfd, 1); } /* @@ -1626,7 +1626,7 @@ txmbuf_clean_zcp(struct virtio_net *dev, struct vpool *vpool) /* Kick guest if required. */ if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) - eventfd_write((int)vq->callfd, 1); + eventfd_write(vq->callfd, 1); return 0; } @@ -1774,7 +1774,7 @@ virtio_dev_rx_zcp(struct virtio_net *dev, struct rte_mbuf **pkts, /* Kick the guest if necessary. */ if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) - eventfd_write((int)vq->callfd, 1); + eventfd_write(vq->callfd, 1); return count; } diff --git a/lib/librte_vhost/rte_virtio_net.h b/lib/librte_vhost/rte_virtio_net.h index b9bf320..a037c15 100644 --- a/lib/librte_vhost/rte_virtio_net.h +++ b/lib/librte_vhost/rte_virtio_net.h @@ -87,8 +87,8 @@ struct vhost_virtqueue { uint16_t vhost_hlen; /**< Vhost header length (varies depending on RX merge buffers. */ volatile uint16_t last_used_idx; /**< Last index used on the available ring */ volatile uint16_t last_used_idx_res; /**< Used for multiple devices reserving buffers. */ - eventfd_t callfd; /**< Used to notify the guest (trigger interrupt). */ - eventfd_t kickfd; /**< Currently unused as polling mode is enabled. */ + int callfd; /**< Used to notify the guest (trigger interrupt). */ + int kickfd; /**< Currently unused as polling mode is enabled. */ struct buf_vector buf_vec[BUF_VECTOR_MAX]; /**< for scatter RX. */ } __rte_cache_aligned; diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c index d412293..887cdb6 100644 --- a/lib/librte_vhost/vhost_rxtx.c +++ b/lib/librte_vhost/vhost_rxtx.c @@ -230,7 +230,7 @@ virtio_dev_rx(struct virtio_net *dev, uint16_t queue_id, /* Kick the guest if necessary. */ if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) - eventfd_write((int)vq->callfd, 1); + eventfd_write(vq->callfd, 1); return count; } @@ -529,7 +529,7 @@ virtio_dev_merge_rx(struct virtio_net *dev, uint16_t queue_id, /* Kick the guest if necessary. */ if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) - eventfd_write((int)vq->callfd, 1); + eventfd_write(vq->callfd, 1); } return count; @@ -752,6 +752,6 @@ rte_vhost_dequeue_burst(struct virtio_net *dev, uint16_t queue_id, vq->used->idx += entry_success; /* Kick guest if required. */ if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) - eventfd_write((int)vq->callfd, 1); + eventfd_write(vq->callfd, 1); return entry_success; } diff --git a/lib/librte_vhost/vhost_user/virtio-net-user.c b/lib/librte_vhost/vhost_user/virtio-net-user.c index c1ffc38..4689927 100644 --- a/lib/librte_vhost/vhost_user/virtio-net-user.c +++ b/lib/librte_vhost/vhost_user/virtio-net-user.c @@ -214,10 +214,10 @@ virtio_is_ready(struct virtio_net *dev) rvq = dev->virtqueue[VIRTIO_RXQ]; tvq = dev->virtqueue[VIRTIO_TXQ]; if (rvq && tvq && rvq->desc && tvq->desc && - (rvq->kickfd != (eventfd_t)-1) && - (rvq->callfd != (eventfd_t)-1) && - (tvq->kickfd != (eventfd_t)-1) && - (tvq->callfd != (eventfd_t)-1)) { + (rvq->kickfd != -1) && + (rvq->callfd != -1) && + (tvq->kickfd != -1) && + (tvq->callfd != -1)) { RTE_LOG(INFO, VHOST_CONFIG, "virtio is now ready for processing.\n"); return 1; @@ -290,13 +290,13 @@ user_get_vring_base(struct vhost_device_ctx ctx, * sent and only sent in vhost_vring_stop. * TODO: cleanup the vring, it isn't usable since here. */ - if (((int)dev->virtqueue[VIRTIO_RXQ]->kickfd) >= 0) { + if ((dev->virtqueue[VIRTIO_RXQ]->kickfd) >= 0) { close(dev->virtqueue[VIRTIO_RXQ]->kickfd); - dev->virtqueue[VIRTIO_RXQ]->kickfd = (eventfd_t)-1; + dev->virtqueue[VIRTIO_RXQ]->kickfd = -1; } - if (((int)dev->virtqueue[VIRTIO_TXQ]->kickfd) >= 0) { + if ((dev->virtqueue[VIRTIO_TXQ]->kickfd) >= 0) { close(dev->virtqueue[VIRTIO_TXQ]->kickfd); - dev->virtqueue[VIRTIO_TXQ]->kickfd = (eventfd_t)-1; + dev->virtqueue[VIRTIO_TXQ]->kickfd = -1; } return 0; diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c index b670992..d0f1764 100644 --- a/lib/librte_vhost/virtio-net.c +++ b/lib/librte_vhost/virtio-net.c @@ -190,14 +190,14 @@ cleanup_device(struct virtio_net *dev) } /* Close any event notifiers opened by device. */ - if ((int)dev->virtqueue[VIRTIO_RXQ]->callfd >= 0) - close((int)dev->virtqueue[VIRTIO_RXQ]->callfd); - if ((int)dev->virtqueue[VIRTIO_RXQ]->kickfd >= 0) - close((int)dev->virtqueue[VIRTIO_RXQ]->kickfd); - if ((int)dev->virtqueue[VIRTIO_TXQ]->callfd >= 0) - close((int)dev->virtqueue[VIRTIO_TXQ]->callfd); - if ((int)dev->virtqueue[VIRTIO_TXQ]->kickfd >= 0) - close((int)dev->virtqueue[VIRTIO_TXQ]->kickfd); + if (dev->virtqueue[VIRTIO_RXQ]->callfd >= 0) + close(dev->virtqueue[VIRTIO_RXQ]->callfd); + if (dev->virtqueue[VIRTIO_RXQ]->kickfd >= 0) + close(dev->virtqueue[VIRTIO_RXQ]->kickfd); + if (dev->virtqueue[VIRTIO_TXQ]->callfd >= 0) + close(dev->virtqueue[VIRTIO_TXQ]->callfd); + if (dev->virtqueue[VIRTIO_TXQ]->kickfd >= 0) + close(dev->virtqueue[VIRTIO_TXQ]->kickfd); } /* @@ -261,10 +261,10 @@ init_device(struct virtio_net *dev) memset(dev->virtqueue[VIRTIO_RXQ], 0, sizeof(struct vhost_virtqueue)); memset(dev->virtqueue[VIRTIO_TXQ], 0, sizeof(struct vhost_virtqueue)); - dev->virtqueue[VIRTIO_RXQ]->kickfd = (eventfd_t)-1; - dev->virtqueue[VIRTIO_RXQ]->callfd = (eventfd_t)-1; - dev->virtqueue[VIRTIO_TXQ]->kickfd = (eventfd_t)-1; - dev->virtqueue[VIRTIO_TXQ]->callfd = (eventfd_t)-1; + dev->virtqueue[VIRTIO_RXQ]->kickfd = -1; + dev->virtqueue[VIRTIO_RXQ]->callfd = -1; + dev->virtqueue[VIRTIO_TXQ]->kickfd = -1; + dev->virtqueue[VIRTIO_TXQ]->callfd = -1; /* Backends are set to -1 indicating an inactive device. */ dev->virtqueue[VIRTIO_RXQ]->backend = VIRTIO_DEV_STOPPED; @@ -685,8 +685,8 @@ set_vring_call(struct vhost_device_ctx ctx, struct vhost_vring_file *file) /* file->index refers to the queue index. The txq is 1, rxq is 0. */ vq = dev->virtqueue[file->index]; - if ((int)vq->callfd >= 0) - close((int)vq->callfd); + if (vq->callfd >= 0) + close(vq->callfd); vq->callfd = file->fd; @@ -711,8 +711,8 @@ set_vring_kick(struct vhost_device_ctx ctx, struct vhost_vring_file *file) /* file->index refers to the queue index. The txq is 1, rxq is 0. */ vq = dev->virtqueue[file->index]; - if ((int)vq->kickfd >= 0) - close((int)vq->kickfd); + if (vq->kickfd >= 0) + close(vq->kickfd); vq->kickfd = file->fd; -- 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type 2015-08-24 3:54 ` [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type Yuanhan Liu @ 2015-09-09 1:43 ` Ouyang, Changchun 2015-09-09 1:54 ` Yuanhan Liu 2015-09-09 2:41 ` Ouyang, Changchun 1 sibling, 1 reply; 16+ messages in thread From: Ouyang, Changchun @ 2015-09-09 1:43 UTC (permalink / raw) To: Yuanhan Liu, dev > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > Sent: Monday, August 24, 2015 11:55 AM > To: dev@dpdk.org > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > Subject: [PATCH 4/4] vhost: define callfd and kickfd as int type > > So that we can remove the redundant (int) cast. > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> > --- > diff --git a/lib/librte_vhost/rte_virtio_net.h > b/lib/librte_vhost/rte_virtio_net.h > index b9bf320..a037c15 100644 > --- a/lib/librte_vhost/rte_virtio_net.h > +++ b/lib/librte_vhost/rte_virtio_net.h > @@ -87,8 +87,8 @@ struct vhost_virtqueue { > uint16_t vhost_hlen; /**< Vhost header > length (varies depending on RX merge buffers. */ > volatile uint16_t last_used_idx; /**< Last index used > on the available ring */ > volatile uint16_t last_used_idx_res; /**< Used for > multiple devices reserving buffers. */ > - eventfd_t callfd; /**< Used to notify > the guest (trigger interrupt). */ > - eventfd_t kickfd; /**< Currently > unused as polling mode is enabled. */ > + int callfd; /**< Used to notify > the guest (trigger interrupt). */ > + int kickfd; /**< Currently > unused as polling mode is enabled. */ I don't think we have to change it from 8B(eventfd_t is defined as uint64_t) to 4B, Any benefit for this change? ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type 2015-09-09 1:43 ` Ouyang, Changchun @ 2015-09-09 1:54 ` Yuanhan Liu 2015-09-09 2:37 ` Ouyang, Changchun 0 siblings, 1 reply; 16+ messages in thread From: Yuanhan Liu @ 2015-09-09 1:54 UTC (permalink / raw) To: Ouyang, Changchun; +Cc: dev On Wed, Sep 09, 2015 at 01:43:06AM +0000, Ouyang, Changchun wrote: > > > > -----Original Message----- > > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > > Sent: Monday, August 24, 2015 11:55 AM > > To: dev@dpdk.org > > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > > Subject: [PATCH 4/4] vhost: define callfd and kickfd as int type > > > > So that we can remove the redundant (int) cast. > > > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> > > --- > > > diff --git a/lib/librte_vhost/rte_virtio_net.h > > b/lib/librte_vhost/rte_virtio_net.h > > index b9bf320..a037c15 100644 > > --- a/lib/librte_vhost/rte_virtio_net.h > > +++ b/lib/librte_vhost/rte_virtio_net.h > > @@ -87,8 +87,8 @@ struct vhost_virtqueue { > > uint16_t vhost_hlen; /**< Vhost header > > length (varies depending on RX merge buffers. */ > > volatile uint16_t last_used_idx; /**< Last index used > > on the available ring */ > > volatile uint16_t last_used_idx_res; /**< Used for > > multiple devices reserving buffers. */ > > - eventfd_t callfd; /**< Used to notify > > the guest (trigger interrupt). */ > > - eventfd_t kickfd; /**< Currently > > unused as polling mode is enabled. */ > > + int callfd; /**< Used to notify > > the guest (trigger interrupt). */ > > + int kickfd; /**< Currently > > unused as polling mode is enabled. */ > > I don't think we have to change it from 8B(eventfd_t is defined as uint64_t) to 4B, > Any benefit for this change? As I stated in the commit log, to remove the redundant (int) cast. Casts like following are a bit ugly: if ((int)dev->virtqueue[VIRTIO_RXQ]->callfd >= 0) close((int)dev->virtqueue[VIRTIO_RXQ]->callfd); On the other hand, why it has to be uint64_t? The caller side sends the message(be more precisely, qemu) actually uses int type. --yliu ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type 2015-09-09 1:54 ` Yuanhan Liu @ 2015-09-09 2:37 ` Ouyang, Changchun 0 siblings, 0 replies; 16+ messages in thread From: Ouyang, Changchun @ 2015-09-09 2:37 UTC (permalink / raw) To: Yuanhan Liu; +Cc: dev > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > Sent: Wednesday, September 9, 2015 9:55 AM > To: Ouyang, Changchun > Cc: dev@dpdk.org; Xie, Huawei > Subject: Re: [PATCH 4/4] vhost: define callfd and kickfd as int type > > On Wed, Sep 09, 2015 at 01:43:06AM +0000, Ouyang, Changchun wrote: > > > > > > > -----Original Message----- > > > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > > > Sent: Monday, August 24, 2015 11:55 AM > > > To: dev@dpdk.org > > > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > > > Subject: [PATCH 4/4] vhost: define callfd and kickfd as int type > > > > > > So that we can remove the redundant (int) cast. > > > > > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> > > > --- > > > > > diff --git a/lib/librte_vhost/rte_virtio_net.h > > > b/lib/librte_vhost/rte_virtio_net.h > > > index b9bf320..a037c15 100644 > > > --- a/lib/librte_vhost/rte_virtio_net.h > > > +++ b/lib/librte_vhost/rte_virtio_net.h > > > @@ -87,8 +87,8 @@ struct vhost_virtqueue { > > > uint16_t vhost_hlen; /**< Vhost header > > > length (varies depending on RX merge buffers. */ > > > volatile uint16_t last_used_idx; /**< Last index used > > > on the available ring */ > > > volatile uint16_t last_used_idx_res; /**< Used for > > > multiple devices reserving buffers. */ > > > - eventfd_t callfd; /**< Used to notify > > > the guest (trigger interrupt). */ > > > - eventfd_t kickfd; /**< Currently > > > unused as polling mode is enabled. */ > > > + int callfd; /**< Used to notify > > > the guest (trigger interrupt). */ > > > + int kickfd; /**< Currently > > > unused as polling mode is enabled. */ > > > > I don't think we have to change it from 8B(eventfd_t is defined as > > uint64_t) to 4B, Any benefit for this change? > > As I stated in the commit log, to remove the redundant (int) cast. Casts like > following are a bit ugly: > > if ((int)dev->virtqueue[VIRTIO_RXQ]->callfd >= 0) > close((int)dev->virtqueue[VIRTIO_RXQ]->callfd); > > On the other hand, why it has to be uint64_t? The caller side sends the > message(be more precisely, qemu) actually uses int type. > Agree, qemu use 32 bit for the callfd and kickfd. It could use int. Well, there is another comment in other place in this patch, I will send out soon. > --yliu ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type 2015-08-24 3:54 ` [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type Yuanhan Liu 2015-09-09 1:43 ` Ouyang, Changchun @ 2015-09-09 2:41 ` Ouyang, Changchun 2015-09-09 2:52 ` Yuanhan Liu 1 sibling, 1 reply; 16+ messages in thread From: Ouyang, Changchun @ 2015-09-09 2:41 UTC (permalink / raw) To: Yuanhan Liu, dev > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > Sent: Monday, August 24, 2015 11:55 AM > To: dev@dpdk.org > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > Subject: [PATCH 4/4] vhost: define callfd and kickfd as int type > > So that we can remove the redundant (int) cast. > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> > --- > examples/vhost/main.c | 6 ++--- > lib/librte_vhost/rte_virtio_net.h | 4 ++-- > lib/librte_vhost/vhost_rxtx.c | 6 ++--- > lib/librte_vhost/vhost_user/virtio-net-user.c | 16 +++++++------- > lib/librte_vhost/virtio-net.c | 32 +++++++++++++-------------- > 5 files changed, 32 insertions(+), 32 deletions(-) > > diff --git a/examples/vhost/main.c b/examples/vhost/main.c index > 1b137b9..b090b25 100644 > --- a/examples/vhost/main.c > +++ b/examples/vhost/main.c > @@ -1433,7 +1433,7 @@ put_desc_to_used_list_zcp(struct vhost_virtqueue > *vq, uint16_t desc_idx) > > /* Kick the guest if necessary. */ > if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) > - eventfd_write((int)vq->callfd, 1); > + eventfd_write(vq->callfd, 1); Don't we need type conversion for '1' to eventfd_t here? > } > > /* > @@ -1626,7 +1626,7 @@ txmbuf_clean_zcp(struct virtio_net *dev, struct > vpool *vpool) > > /* Kick guest if required. */ > if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) > - eventfd_write((int)vq->callfd, 1); > + eventfd_write(vq->callfd, 1); Same as above > > return 0; > } > @@ -1774,7 +1774,7 @@ virtio_dev_rx_zcp(struct virtio_net *dev, struct > rte_mbuf **pkts, > > /* Kick the guest if necessary. */ > if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) > - eventfd_write((int)vq->callfd, 1); > + eventfd_write(vq->callfd, 1); Same as above > > return count; > } > diff --git a/lib/librte_vhost/rte_virtio_net.h > b/lib/librte_vhost/rte_virtio_net.h > index b9bf320..a037c15 100644 > --- a/lib/librte_vhost/rte_virtio_net.h > +++ b/lib/librte_vhost/rte_virtio_net.h > @@ -87,8 +87,8 @@ struct vhost_virtqueue { > uint16_t vhost_hlen; /**< Vhost header > length (varies depending on RX merge buffers. */ > volatile uint16_t last_used_idx; /**< Last index used > on the available ring */ > volatile uint16_t last_used_idx_res; /**< Used for > multiple devices reserving buffers. */ > - eventfd_t callfd; /**< Used to notify > the guest (trigger interrupt). */ > - eventfd_t kickfd; /**< Currently > unused as polling mode is enabled. */ > + int callfd; /**< Used to notify > the guest (trigger interrupt). */ > + int kickfd; /**< Currently > unused as polling mode is enabled. */ > struct buf_vector buf_vec[BUF_VECTOR_MAX]; /**< for > scatter RX. */ > } __rte_cache_aligned; > > diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c > index d412293..887cdb6 100644 > --- a/lib/librte_vhost/vhost_rxtx.c > +++ b/lib/librte_vhost/vhost_rxtx.c > @@ -230,7 +230,7 @@ virtio_dev_rx(struct virtio_net *dev, uint16_t > queue_id, > > /* Kick the guest if necessary. */ > if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) > - eventfd_write((int)vq->callfd, 1); > + eventfd_write(vq->callfd, 1); > return count; > } > > @@ -529,7 +529,7 @@ virtio_dev_merge_rx(struct virtio_net *dev, uint16_t > queue_id, > > /* Kick the guest if necessary. */ > if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) > - eventfd_write((int)vq->callfd, 1); > + eventfd_write(vq->callfd, 1); > } > > return count; > @@ -752,6 +752,6 @@ rte_vhost_dequeue_burst(struct virtio_net *dev, > uint16_t queue_id, > vq->used->idx += entry_success; > /* Kick guest if required. */ > if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) > - eventfd_write((int)vq->callfd, 1); > + eventfd_write(vq->callfd, 1); > return entry_success; > } > diff --git a/lib/librte_vhost/vhost_user/virtio-net-user.c > b/lib/librte_vhost/vhost_user/virtio-net-user.c > index c1ffc38..4689927 100644 > --- a/lib/librte_vhost/vhost_user/virtio-net-user.c > +++ b/lib/librte_vhost/vhost_user/virtio-net-user.c > @@ -214,10 +214,10 @@ virtio_is_ready(struct virtio_net *dev) > rvq = dev->virtqueue[VIRTIO_RXQ]; > tvq = dev->virtqueue[VIRTIO_TXQ]; > if (rvq && tvq && rvq->desc && tvq->desc && > - (rvq->kickfd != (eventfd_t)-1) && > - (rvq->callfd != (eventfd_t)-1) && > - (tvq->kickfd != (eventfd_t)-1) && > - (tvq->callfd != (eventfd_t)-1)) { > + (rvq->kickfd != -1) && > + (rvq->callfd != -1) && > + (tvq->kickfd != -1) && > + (tvq->callfd != -1)) { > RTE_LOG(INFO, VHOST_CONFIG, > "virtio is now ready for processing.\n"); > return 1; > @@ -290,13 +290,13 @@ user_get_vring_base(struct vhost_device_ctx ctx, > * sent and only sent in vhost_vring_stop. > * TODO: cleanup the vring, it isn't usable since here. > */ > - if (((int)dev->virtqueue[VIRTIO_RXQ]->kickfd) >= 0) { > + if ((dev->virtqueue[VIRTIO_RXQ]->kickfd) >= 0) { > close(dev->virtqueue[VIRTIO_RXQ]->kickfd); > - dev->virtqueue[VIRTIO_RXQ]->kickfd = (eventfd_t)-1; > + dev->virtqueue[VIRTIO_RXQ]->kickfd = -1; > } > - if (((int)dev->virtqueue[VIRTIO_TXQ]->kickfd) >= 0) { > + if ((dev->virtqueue[VIRTIO_TXQ]->kickfd) >= 0) { > close(dev->virtqueue[VIRTIO_TXQ]->kickfd); > - dev->virtqueue[VIRTIO_TXQ]->kickfd = (eventfd_t)-1; > + dev->virtqueue[VIRTIO_TXQ]->kickfd = -1; > } > > return 0; > diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c index > b670992..d0f1764 100644 > --- a/lib/librte_vhost/virtio-net.c > +++ b/lib/librte_vhost/virtio-net.c > @@ -190,14 +190,14 @@ cleanup_device(struct virtio_net *dev) > } > > /* Close any event notifiers opened by device. */ > - if ((int)dev->virtqueue[VIRTIO_RXQ]->callfd >= 0) > - close((int)dev->virtqueue[VIRTIO_RXQ]->callfd); > - if ((int)dev->virtqueue[VIRTIO_RXQ]->kickfd >= 0) > - close((int)dev->virtqueue[VIRTIO_RXQ]->kickfd); > - if ((int)dev->virtqueue[VIRTIO_TXQ]->callfd >= 0) > - close((int)dev->virtqueue[VIRTIO_TXQ]->callfd); > - if ((int)dev->virtqueue[VIRTIO_TXQ]->kickfd >= 0) > - close((int)dev->virtqueue[VIRTIO_TXQ]->kickfd); > + if (dev->virtqueue[VIRTIO_RXQ]->callfd >= 0) > + close(dev->virtqueue[VIRTIO_RXQ]->callfd); > + if (dev->virtqueue[VIRTIO_RXQ]->kickfd >= 0) > + close(dev->virtqueue[VIRTIO_RXQ]->kickfd); > + if (dev->virtqueue[VIRTIO_TXQ]->callfd >= 0) > + close(dev->virtqueue[VIRTIO_TXQ]->callfd); > + if (dev->virtqueue[VIRTIO_TXQ]->kickfd >= 0) > + close(dev->virtqueue[VIRTIO_TXQ]->kickfd); > } > > /* > @@ -261,10 +261,10 @@ init_device(struct virtio_net *dev) > memset(dev->virtqueue[VIRTIO_RXQ], 0, sizeof(struct > vhost_virtqueue)); > memset(dev->virtqueue[VIRTIO_TXQ], 0, sizeof(struct > vhost_virtqueue)); > > - dev->virtqueue[VIRTIO_RXQ]->kickfd = (eventfd_t)-1; > - dev->virtqueue[VIRTIO_RXQ]->callfd = (eventfd_t)-1; > - dev->virtqueue[VIRTIO_TXQ]->kickfd = (eventfd_t)-1; > - dev->virtqueue[VIRTIO_TXQ]->callfd = (eventfd_t)-1; > + dev->virtqueue[VIRTIO_RXQ]->kickfd = -1; > + dev->virtqueue[VIRTIO_RXQ]->callfd = -1; > + dev->virtqueue[VIRTIO_TXQ]->kickfd = -1; > + dev->virtqueue[VIRTIO_TXQ]->callfd = -1; > > /* Backends are set to -1 indicating an inactive device. */ > dev->virtqueue[VIRTIO_RXQ]->backend = VIRTIO_DEV_STOPPED; > @@ -685,8 +685,8 @@ set_vring_call(struct vhost_device_ctx ctx, struct > vhost_vring_file *file) > /* file->index refers to the queue index. The txq is 1, rxq is 0. */ > vq = dev->virtqueue[file->index]; > > - if ((int)vq->callfd >= 0) > - close((int)vq->callfd); > + if (vq->callfd >= 0) > + close(vq->callfd); > > vq->callfd = file->fd; > > @@ -711,8 +711,8 @@ set_vring_kick(struct vhost_device_ctx ctx, struct > vhost_vring_file *file) > /* file->index refers to the queue index. The txq is 1, rxq is 0. */ > vq = dev->virtqueue[file->index]; > > - if ((int)vq->kickfd >= 0) > - close((int)vq->kickfd); > + if (vq->kickfd >= 0) > + close(vq->kickfd); > > vq->kickfd = file->fd; > > -- > 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type 2015-09-09 2:41 ` Ouyang, Changchun @ 2015-09-09 2:52 ` Yuanhan Liu 0 siblings, 0 replies; 16+ messages in thread From: Yuanhan Liu @ 2015-09-09 2:52 UTC (permalink / raw) To: Ouyang, Changchun; +Cc: dev On Wed, Sep 09, 2015 at 02:41:37AM +0000, Ouyang, Changchun wrote: > > > > -----Original Message----- > > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > > Sent: Monday, August 24, 2015 11:55 AM > > To: dev@dpdk.org > > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > > Subject: [PATCH 4/4] vhost: define callfd and kickfd as int type > > > > So that we can remove the redundant (int) cast. > > > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> > > --- > > examples/vhost/main.c | 6 ++--- > > lib/librte_vhost/rte_virtio_net.h | 4 ++-- > > lib/librte_vhost/vhost_rxtx.c | 6 ++--- > > lib/librte_vhost/vhost_user/virtio-net-user.c | 16 +++++++------- > > lib/librte_vhost/virtio-net.c | 32 +++++++++++++-------------- > > 5 files changed, 32 insertions(+), 32 deletions(-) > > > > diff --git a/examples/vhost/main.c b/examples/vhost/main.c index > > 1b137b9..b090b25 100644 > > --- a/examples/vhost/main.c > > +++ b/examples/vhost/main.c > > @@ -1433,7 +1433,7 @@ put_desc_to_used_list_zcp(struct vhost_virtqueue > > *vq, uint16_t desc_idx) > > > > /* Kick the guest if necessary. */ > > if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) > > - eventfd_write((int)vq->callfd, 1); > > + eventfd_write(vq->callfd, 1); > > Don't we need type conversion for '1' to eventfd_t here? Nope. See eventfd_write man page: int eventfd_read(int fd, eventfd_t *value); int eventfd_write(int fd, eventfd_t value); --yliu ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; 2015-08-24 3:54 [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Yuanhan Liu ` (2 preceding siblings ...) 2015-08-24 3:54 ` [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type Yuanhan Liu @ 2015-09-09 1:49 ` Ouyang, Changchun 2015-09-09 5:20 ` Xie, Huawei 4 siblings, 0 replies; 16+ messages in thread From: Ouyang, Changchun @ 2015-09-09 1:49 UTC (permalink / raw) To: Yuanhan Liu, dev > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > Sent: Monday, August 24, 2015 11:55 AM > To: dev@dpdk.org > Cc: Xie, Huawei; Ouyang, Changchun; Yuanhan Liu > Subject: [PATCH 1/4] vhost: remove redundant ; > > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Changchun Ouyang <Changchun.ouyang@intel.com> > --- > lib/librte_vhost/vhost_rxtx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c > index 0d07338..d412293 100644 > --- a/lib/librte_vhost/vhost_rxtx.c > +++ b/lib/librte_vhost/vhost_rxtx.c > @@ -185,7 +185,7 @@ virtio_dev_rx(struct virtio_net *dev, uint16_t > queue_id, > } > } > len_to_cpy = RTE_MIN(data_len - offset, desc->len - > vb_offset); > - }; > + } > > /* Update used ring with desc information */ > vq->used->ring[res_cur_idx & (vq->size - 1)].id = > -- > 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; 2015-08-24 3:54 [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Yuanhan Liu ` (3 preceding siblings ...) 2015-09-09 1:49 ` [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Ouyang, Changchun @ 2015-09-09 5:20 ` Xie, Huawei 4 siblings, 0 replies; 16+ messages in thread From: Xie, Huawei @ 2015-09-09 5:20 UTC (permalink / raw) To: Yuanhan Liu, dev On 8/24/2015 11:54 AM, Yuanhan Liu wrote: > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Huawei Xie <huawei.xie@intel.com> > --- > lib/librte_vhost/vhost_rxtx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c > index 0d07338..d412293 100644 > --- a/lib/librte_vhost/vhost_rxtx.c > +++ b/lib/librte_vhost/vhost_rxtx.c > @@ -185,7 +185,7 @@ virtio_dev_rx(struct virtio_net *dev, uint16_t queue_id, > } > } > len_to_cpy = RTE_MIN(data_len - offset, desc->len - vb_offset); > - }; > + } > > /* Update used ring with desc information */ > vq->used->ring[res_cur_idx & (vq->size - 1)].id = ^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; @ 2015-09-09 5:34 Yuanhan Liu 2015-09-09 5:34 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu 0 siblings, 1 reply; 16+ messages in thread From: Yuanhan Liu @ 2015-09-09 5:34 UTC (permalink / raw) To: dev Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Changchun Ouyang <Changchun.ouyang@intel.com> Acked-by: Huawei Xie <huawei.xie@intel.com> --- lib/librte_vhost/vhost_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c index 0d07338..d412293 100644 --- a/lib/librte_vhost/vhost_rxtx.c +++ b/lib/librte_vhost/vhost_rxtx.c @@ -185,7 +185,7 @@ virtio_dev_rx(struct virtio_net *dev, uint16_t queue_id, } } len_to_cpy = RTE_MIN(data_len - offset, desc->len - vb_offset); - }; + } /* Update used ring with desc information */ vq->used->ring[res_cur_idx & (vq->size - 1)].id = -- 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 2/4] vhost: fix typo 2015-09-09 5:34 Yuanhan Liu @ 2015-09-09 5:34 ` Yuanhan Liu 0 siblings, 0 replies; 16+ messages in thread From: Yuanhan Liu @ 2015-09-09 5:34 UTC (permalink / raw) To: dev _det => _dev Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Changchun Ouyang <Changchun.ouyang@intel.com> Acked-by: Huawei Xie <huawei.xie@intel.com> --- lib/librte_vhost/virtio-net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c index b520ec5..b670992 100644 --- a/lib/librte_vhost/virtio-net.c +++ b/lib/librte_vhost/virtio-net.c @@ -485,7 +485,7 @@ set_vring_num(struct vhost_device_ctx ctx, struct vhost_vring_state *state) } /* - * Reallocate virtio_det and vhost_virtqueue data structure to make them on the + * Reallocate virtio_dev and vhost_virtqueue data structure to make them on the * same numa node as the memory of vring descriptor. */ #ifdef RTE_LIBRTE_VHOST_NUMA -- 1.9.0 ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2015-09-09 5:31 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-08-24 3:54 [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Yuanhan Liu 2015-08-24 3:54 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu 2015-09-09 1:24 ` Ouyang, Changchun 2015-09-09 5:19 ` Xie, Huawei 2015-08-24 3:54 ` [dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code Yuanhan Liu 2015-09-09 1:28 ` Ouyang, Changchun 2015-09-09 5:19 ` Xie, Huawei 2015-08-24 3:54 ` [dpdk-dev] [PATCH 4/4] vhost: define callfd and kickfd as int type Yuanhan Liu 2015-09-09 1:43 ` Ouyang, Changchun 2015-09-09 1:54 ` Yuanhan Liu 2015-09-09 2:37 ` Ouyang, Changchun 2015-09-09 2:41 ` Ouyang, Changchun 2015-09-09 2:52 ` Yuanhan Liu 2015-09-09 1:49 ` [dpdk-dev] [PATCH 1/4] vhost: remove redundant ; Ouyang, Changchun 2015-09-09 5:20 ` Xie, Huawei 2015-09-09 5:34 Yuanhan Liu 2015-09-09 5:34 ` [dpdk-dev] [PATCH 2/4] vhost: fix typo Yuanhan Liu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).