[dpdk-dev] [PATCH] vhost: reset queue state in destroy_device

2016-07-11 Thread Yuanhan Liu
On Mon, Jul 04, 2016 at 10:24:41AM +0800, Yuanhan Liu wrote:
> On Fri, Jul 01, 2016 at 09:31:12AM -0700, Rich Lane wrote:
> > Fixes a bug where rte_eth_vhost_get_queue_event would not return enabled 
> > queues
> > after a guest application restart.
> > 
> > Fixes: ee584e9710b9 ("vhost: add driver on top of the library")
> > Signed-off-by: Rich Lane 
> 
> Acked-by: Yuanhan Liu 
> 
> Just some minor comments about the title (nothing big deal; it's just
> some DPDK preferences):
> 
> - a bug fix patch need be titled as "fix ..."
> 
> - it's better to hide specific function in the title. If you run
>   "scripts/check-git-log.sh", you will find a warning.
> 
> - the prefix should be "net/vhost".
> 
> So, I'd like to reword the title a bit, to something like:
> 
> "net/vhost: fix queue state not reset on destroy"
> 
> If have no objection, I could fix it while apply.

Applied to dpdk-next-virtio, with above minor fixes included.

Thanks.

--yliu


[dpdk-dev] [PATCH] vhost: reset queue state in destroy_device

2016-07-04 Thread Yuanhan Liu
On Fri, Jul 01, 2016 at 09:31:12AM -0700, Rich Lane wrote:
> Fixes a bug where rte_eth_vhost_get_queue_event would not return enabled 
> queues
> after a guest application restart.
> 
> Fixes: ee584e9710b9 ("vhost: add driver on top of the library")
> Signed-off-by: Rich Lane 

Acked-by: Yuanhan Liu 

Just some minor comments about the title (nothing big deal; it's just
some DPDK preferences):

- a bug fix patch need be titled as "fix ..."

- it's better to hide specific function in the title. If you run
  "scripts/check-git-log.sh", you will find a warning.

- the prefix should be "net/vhost".

So, I'd like to reword the title a bit, to something like:

"net/vhost: fix queue state not reset on destroy"

If have no objection, I could fix it while apply.

--yliu


[dpdk-dev] [PATCH] vhost: reset queue state in destroy_device

2016-07-01 Thread Rich Lane
Fixes a bug where rte_eth_vhost_get_queue_event would not return enabled queues
after a guest application restart.

Fixes: ee584e9710b9 ("vhost: add driver on top of the library")
Signed-off-by: Rich Lane 
---
 drivers/net/vhost/rte_eth_vhost.c | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/vhost/rte_eth_vhost.c 
b/drivers/net/vhost/rte_eth_vhost.c
index c5bbb87..33e9728 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -303,6 +303,7 @@ destroy_device(int vid)
struct internal_list *list;
char ifname[PATH_MAX];
unsigned i;
+   struct rte_vhost_vring_state *state;

rte_vhost_get_ifname(vid, ifname, sizeof(ifname));
list = find_internal_resource(ifname);
@@ -345,6 +346,15 @@ destroy_device(int vid)
vq->vid = -1;
}

+   state = vring_states[eth_dev->data->port_id];
+   rte_spinlock_lock(>lock);
+   for (i = 0; i <= state->max_vring; i++) {
+   state->cur[i] = false;
+   state->seen[i] = false;
+   }
+   state->max_vring = 0;
+   rte_spinlock_unlock(>lock);
+
RTE_LOG(INFO, PMD, "Connection closed\n");

_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC);
-- 
1.9.1