Re: [PULL] vhost: infrastructure changes for 3.16

2014-06-12 Thread Romain Francoise
Michael S. Tsirkin m...@redhat.com writes:

 Memory allocation for vhost-net now supports fallback on vmalloc (same
 as for vhost-scsi) this makes it possible to create the device on
 systems where memory is very fragmented, with slightly lower
 performance.

Thanks Michael, I'm glad to see that this change made its way into
mainline after all! Would you be willing to take the following on top?


From: Romain Francoise rom...@orebokech.com
Date: Thu, 12 Jun 2014 10:26:40 +0200
Subject: [PATCH] vhost-net: don't open-code kvfree

Commit 23cc5a991c (vhost-net: extend device allocation to vmalloc)
added another open-coded version of kvfree (which is available since
v3.15-rc5), nuke it.

Signed-off-by: Romain Francoise rom...@orebokech.com
---
 drivers/vhost/net.c | 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 971a760..8dae2f7 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -700,14 +700,6 @@ static void handle_rx_net(struct vhost_work *work)
handle_rx(net);
 }
 
-static void vhost_net_free(void *addr)
-{
-   if (is_vmalloc_addr(addr))
-   vfree(addr);
-   else
-   kfree(addr);
-}
-
 static int vhost_net_open(struct inode *inode, struct file *f)
 {
struct vhost_net *n;
@@ -723,7 +715,7 @@ static int vhost_net_open(struct inode *inode, struct file 
*f)
}
vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL);
if (!vqs) {
-   vhost_net_free(n);
+   kvfree(n);
return -ENOMEM;
}
 
@@ -840,7 +832,7 @@ static int vhost_net_release(struct inode *inode, struct 
file *f)
 * since jobs can re-queue themselves. */
vhost_net_flush(n);
kfree(n-dev.vqs);
-   vhost_net_free(n);
+   kvfree(n);
return 0;
 }
 
-- 
2.0.0

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PULL] vhost: infrastructure changes for 3.16

2014-06-11 Thread Michael S. Tsirkin
Hi Linus,
Please pull the following.
Please note this needs to be merged before merging
target-pending PULL which Nicholas will be sending
out shortly.

Thanks!

The following changes since commit 1860e379875dfe7271c649058aeddffe5afd9d0d:

  Linux 3.15 (2014-06-08 11:19:54 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus

for you to fetch changes up to 47283bef7ed356629467d1fac61687756e48f254:

  vhost: move memory pointer to VQs (2014-06-09 16:21:07 +0300)


vhost: infrastructure changes for 3.16

This reworks vhost core dropping unnecessary RCU uses in favor of VQ mutexes
which are used on fast path anyway.  This fixes worst-case latency for users
which change the memory mappings a lot.
Memory allocation for vhost-net now supports fallback on vmalloc (same as for
vhost-scsi) this makes it possible to create the device on systems where memory
is very fragmented, with slightly lower performance.

Signed-off-by: Michael S. Tsirkin m...@redhat.com


Michael S. Tsirkin (4):
  vhost-net: extend device allocation to vmalloc
  vhost: replace rcu with mutex
  vhost: move acked_features to VQs
  vhost: move memory pointer to VQs

 drivers/vhost/vhost.h | 19 --
 drivers/vhost/net.c   | 35 ---
 drivers/vhost/scsi.c  | 26 --
 drivers/vhost/test.c  | 11 +++---
 drivers/vhost/vhost.c | 97 ++-
 5 files changed, 101 insertions(+), 87 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html