[Devel] [PATCH vz7] net/vhost: Replace kmalloc with kvmalloc for order>=3
Oleg Babin
obabin at virtuozzo.com
Tue Feb 27 11:12:39 MSK 2018
Currently we allocate more than eight pages of memory in
vhost_net_set_ubuf_info() function and we do not need
them to be physically contiguous, so it is feasible to
replace a call to kmalloc() with a call to kvmalloc().
https://jira.sw.ru/browse/PSBM-81803
Signed-off-by: Oleg Babin <obabin at virtuozzo.com>
---
drivers/vhost/net.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 1076a46..900463b 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -165,7 +165,7 @@ static void vhost_net_clear_ubuf_info(struct vhost_net *n)
int i;
for (i = 0; i < VHOST_NET_VQ_MAX; ++i) {
- kfree(n->vqs[i].ubuf_info);
+ kvfree(n->vqs[i].ubuf_info);
n->vqs[i].ubuf_info = NULL;
}
}
@@ -179,8 +179,8 @@ int vhost_net_set_ubuf_info(struct vhost_net *n)
zcopy = vhost_net_zcopy_mask & (0x1 << i);
if (!zcopy)
continue;
- n->vqs[i].ubuf_info = kmalloc(sizeof(*n->vqs[i].ubuf_info) *
- UIO_MAXIOV, GFP_KERNEL);
+ n->vqs[i].ubuf_info = kvmalloc(sizeof(*n->vqs[i].ubuf_info) *
+ UIO_MAXIOV, GFP_KERNEL);
if (!n->vqs[i].ubuf_info)
goto err;
}
--
1.8.3.1
More information about the Devel
mailing list