search for: vhost_poll_flush

Displaying 20 results from an estimated 161 matches for "vhost_poll_flush".

2020 Sep 22
0
[PATCH 7/8] vhost: remove work arg from vhost_work_flush
...ion(&flush.wait_event); > } > } > -EXPORT_SYMBOL_GPL(vhost_work_flush); > +EXPORT_SYMBOL_GPL(vhost_work_dev_flush); > > /* Flush any work that has been scheduled. When calling this, don't hold any > * locks that are also used by the callback. */ > void vhost_poll_flush(struct vhost_poll *poll) > { > - vhost_work_flush(poll->dev, &poll->work); > + vhost_work_dev_flush(poll->dev); > } > EXPORT_SYMBOL_GPL(vhost_poll_flush); > > @@ -542,7 +542,7 @@ static int vhost_attach_cgroups(struct vhost_dev *dev) > attach.owner =...
2015 Dec 08
2
[PATCH] vhost: vsock: select CONFIG_VHOST
When building the new vsock code without vhost, we get a build error: drivers/built-in.o: In function `vhost_vsock_flush': :(.text+0x24d29c): undefined reference to `vhost_poll_flush' This adds an explicit 'select' like we have for the other vhost drivers. Signed-off-by: Arnd Bergmann <arnd at arndb.de> --- drivers/vhost/Kconfig.vsock | 2 ++ 1 file changed, 2 insertions(+) The patch causing the problem is currently in net-next, so the fix should be applie...
2015 Dec 08
2
[PATCH] vhost: vsock: select CONFIG_VHOST
When building the new vsock code without vhost, we get a build error: drivers/built-in.o: In function `vhost_vsock_flush': :(.text+0x24d29c): undefined reference to `vhost_poll_flush' This adds an explicit 'select' like we have for the other vhost drivers. Signed-off-by: Arnd Bergmann <arnd at arndb.de> --- drivers/vhost/Kconfig.vsock | 2 ++ 1 file changed, 2 insertions(+) The patch causing the problem is currently in net-next, so the fix should be applie...
2013 May 08
1
[PATCH v2] vhost-test: Make vhost/test.c work
...vhost_test *n, static void vhost_test_stop(struct vhost_test *n, void **privatep) { - *privatep = vhost_test_stop_vq(n, n->vqs + VHOST_TEST_VQ); + *privatep = vhost_test_stop_vq(n, &n->vqs[VHOST_TEST_VQ].vq); } static void vhost_test_flush_vq(struct vhost_test *n, int index) { - vhost_poll_flush(&n->dev.vqs[index].poll); + vhost_poll_flush(&n->vqs[index].vq.poll); } static void vhost_test_flush(struct vhost_test *n) @@ -159,6 +171,7 @@ static int vhost_test_release(struct inode *inode, struct file *f) /* We do an extra flush before freeing memory, * since jobs can re...
2013 May 08
1
[PATCH v2] vhost-test: Make vhost/test.c work
...vhost_test *n, static void vhost_test_stop(struct vhost_test *n, void **privatep) { - *privatep = vhost_test_stop_vq(n, n->vqs + VHOST_TEST_VQ); + *privatep = vhost_test_stop_vq(n, &n->vqs[VHOST_TEST_VQ].vq); } static void vhost_test_flush_vq(struct vhost_test *n, int index) { - vhost_poll_flush(&n->dev.vqs[index].poll); + vhost_poll_flush(&n->vqs[index].vq.poll); } static void vhost_test_flush(struct vhost_test *n) @@ -159,6 +171,7 @@ static int vhost_test_release(struct inode *inode, struct file *f) /* We do an extra flush before freeing memory, * since jobs can re...
2013 Jul 07
2
[PATCH v2 03/11] vhost: Make vhost a separate module
...g < 0); > > > } > > > +EXPORT_SYMBOL_GPL(vhost_work_flush); > > > > > > /* Flush any work that has been scheduled. When calling this, don't hold any > > > * locks that are also used by the callback. */ > > > @@ -145,6 +151,7 @@ void vhost_poll_flush(struct vhost_poll *poll) > > > { > > > vhost_work_flush(poll->dev, &poll->work); > > > } > > > +EXPORT_SYMBOL_GPL(vhost_poll_flush); > > > > > > void vhost_work_queue(struct vhost_dev *dev, struct vhost_work *work) > > &gt...
2013 Jul 07
2
[PATCH v2 03/11] vhost: Make vhost a separate module
...g < 0); > > > } > > > +EXPORT_SYMBOL_GPL(vhost_work_flush); > > > > > > /* Flush any work that has been scheduled. When calling this, don't hold any > > > * locks that are also used by the callback. */ > > > @@ -145,6 +151,7 @@ void vhost_poll_flush(struct vhost_poll *poll) > > > { > > > vhost_work_flush(poll->dev, &poll->work); > > > } > > > +EXPORT_SYMBOL_GPL(vhost_poll_flush); > > > > > > void vhost_work_queue(struct vhost_dev *dev, struct vhost_work *work) > > &gt...
2013 May 07
1
[PATCH] vhost-test: Make vhost/test.c work
...vhost_test *n, static void vhost_test_stop(struct vhost_test *n, void **privatep) { - *privatep = vhost_test_stop_vq(n, n->vqs + VHOST_TEST_VQ); + *privatep = vhost_test_stop_vq(n, &n->vqs[VHOST_TEST_VQ].vq); } static void vhost_test_flush_vq(struct vhost_test *n, int index) { - vhost_poll_flush(&n->dev.vqs[index].poll); + vhost_poll_flush(&n->vqs[index].vq.poll); } static void vhost_test_flush(struct vhost_test *n) @@ -159,6 +171,7 @@ static int vhost_test_release(struct inode *inode, struct file *f) /* We do an extra flush before freeing memory, * since jobs can re...
2013 May 07
1
[PATCH] vhost-test: Make vhost/test.c work
...vhost_test *n, static void vhost_test_stop(struct vhost_test *n, void **privatep) { - *privatep = vhost_test_stop_vq(n, n->vqs + VHOST_TEST_VQ); + *privatep = vhost_test_stop_vq(n, &n->vqs[VHOST_TEST_VQ].vq); } static void vhost_test_flush_vq(struct vhost_test *n, int index) { - vhost_poll_flush(&n->dev.vqs[index].poll); + vhost_poll_flush(&n->vqs[index].vq.poll); } static void vhost_test_flush(struct vhost_test *n) @@ -159,6 +171,7 @@ static int vhost_test_release(struct inode *inode, struct file *f) /* We do an extra flush before freeing memory, * since jobs can re...
2009 Aug 11
2
[PATCHv2 2/2] vhost_net: a kernel-level virtio server
...(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); + vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); + return 0; +} + +static struct socket *vhost_net_stop(struct vhost_net *n) +{ + struct socket *sock = n->sock; + rcu_assign_pointer(n->sock, NULL); + if (sock) { + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + } + return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n...
2009 Aug 11
2
[PATCHv2 2/2] vhost_net: a kernel-level virtio server
...(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); + vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); + return 0; +} + +static struct socket *vhost_net_stop(struct vhost_net *n) +{ + struct socket *sock = n->sock; + rcu_assign_pointer(n->sock, NULL); + if (sock) { + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + } + return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n...
2013 Apr 27
2
[PATCH v6 0/2] tcm_vhost flush
Changes in v6: - Allow device specific fields per vq - Track cmd per vq - Do not track evt - Switch to static array for inflight allocation, completely get rid of the pain to handle inflight allocation failure. Asias He (2): vhost: Allow device specific fields per vq tcm_vhost: Wait for pending requests in vhost_scsi_flush() drivers/vhost/net.c | 60 +++++++++++--------
2013 Apr 27
2
[PATCH v6 0/2] tcm_vhost flush
Changes in v6: - Allow device specific fields per vq - Track cmd per vq - Do not track evt - Switch to static array for inflight allocation, completely get rid of the pain to handle inflight allocation failure. Asias He (2): vhost: Allow device specific fields per vq tcm_vhost: Wait for pending requests in vhost_scsi_flush() drivers/vhost/net.c | 60 +++++++++++--------
2013 Jul 07
0
[PATCH v2 03/11] vhost: Make vhost a separate module
...} > > > > +EXPORT_SYMBOL_GPL(vhost_work_flush); > > > > > > > > /* Flush any work that has been scheduled. When calling this, don't hold any > > > > * locks that are also used by the callback. */ > > > > @@ -145,6 +151,7 @@ void vhost_poll_flush(struct vhost_poll *poll) > > > > { > > > > vhost_work_flush(poll->dev, &poll->work); > > > > } > > > > +EXPORT_SYMBOL_GPL(vhost_poll_flush); > > > > > > > > void vhost_work_queue(struct vhost_dev *dev, struct v...
2009 Aug 27
5
[PATCHv5 3/3] vhost_net: a kernel-level virtio server
...(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); + vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); + return 0; +} + +static struct socket *vhost_net_stop(struct vhost_net *n) +{ + struct socket *sock = n->sock; + rcu_assign_pointer(n->sock, NULL); + if (sock) { + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + } + return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n...
2009 Aug 27
5
[PATCHv5 3/3] vhost_net: a kernel-level virtio server
...(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); + vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); + return 0; +} + +static struct socket *vhost_net_stop(struct vhost_net *n) +{ + struct socket *sock = n->sock; + rcu_assign_pointer(n->sock, NULL); + if (sock) { + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + } + return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n...
2013 May 03
4
[PATCH 0/3] vhost cleanups and separate module
Asias He (3): vhost: Remove vhost_enable_zcopy in vhost.h vhost: Move VHOST_NET_FEATURES to net.c vhost: Make vhost a separate module drivers/vhost/Kconfig | 8 ++++++++ drivers/vhost/Makefile | 3 ++- drivers/vhost/net.c | 6 ++++++ drivers/vhost/scsi.c | 1 - drivers/vhost/vhost.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- drivers/vhost/vhost.h | 8 ++------ 6
2013 May 03
4
[PATCH 0/3] vhost cleanups and separate module
Asias He (3): vhost: Remove vhost_enable_zcopy in vhost.h vhost: Move VHOST_NET_FEATURES to net.c vhost: Make vhost a separate module drivers/vhost/Kconfig | 8 ++++++++ drivers/vhost/Makefile | 3 ++- drivers/vhost/net.c | 6 ++++++ drivers/vhost/scsi.c | 1 - drivers/vhost/vhost.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- drivers/vhost/vhost.h | 8 ++------ 6
2009 Aug 13
1
[PATCHv3 2/2] vhost_net: a kernel-level virtio server
...(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); + vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); + return 0; +} + +static struct socket *vhost_net_stop(struct vhost_net *n) +{ + struct socket *sock = n->sock; + rcu_assign_pointer(n->sock, NULL); + if (sock) { + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + } + return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n...
2009 Aug 13
1
[PATCHv3 2/2] vhost_net: a kernel-level virtio server
...(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); + vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); + return 0; +} + +static struct socket *vhost_net_stop(struct vhost_net *n) +{ + struct socket *sock = n->sock; + rcu_assign_pointer(n->sock, NULL); + if (sock) { + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + } + return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n...