[Devel] [PATCH RHEL7 COMMIT] IPoIB: use kvzalloc to allocate an array of bucket pointers
Konstantin Khorenko
khorenko at virtuozzo.com
Fri Jul 6 13:05:22 MSK 2018
The commit is pushed to "branch-rh7-3.10.0-862.3.2.vz7.61.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-862.3.2.vz7.61.15
------>
commit bfae1cdd8f0527f263c601733010f23b53e93146
Author: Jan Dakinevich <jan.dakinevich at virtuozzo.com>
Date: Fri Jul 6 13:05:22 2018 +0300
IPoIB: use kvzalloc to allocate an array of bucket pointers
This table by default takes 32KiB which is 3rd memory order. Menwhile, this
memory is not aimed for DMA operation and could be safely allocated by vmalloc.
https://jira.sw.ru/browse/HCI-103
Signed-off-by: Jan Dakinevich <jan.dakinevich at virtuozzo.com>
---
drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 1634d37477fc..9efb260b968b 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1483,7 +1483,7 @@ static int ipoib_neigh_hash_init(struct ipoib_dev_priv *priv)
return -ENOMEM;
set_bit(IPOIB_STOP_NEIGH_GC, &priv->flags);
size = roundup_pow_of_two(arp_tbl.gc_thresh3);
- buckets = kzalloc(size * sizeof(*buckets), GFP_KERNEL);
+ buckets = kvzalloc(size * sizeof(*buckets), GFP_KERNEL);
if (!buckets) {
kfree(htbl);
return -ENOMEM;
@@ -1511,7 +1511,7 @@ static void neigh_hash_free_rcu(struct rcu_head *head)
struct ipoib_neigh __rcu **buckets = htbl->buckets;
struct ipoib_neigh_table *ntbl = htbl->ntbl;
- kfree(buckets);
+ kvfree(buckets);
kfree(htbl);
complete(&ntbl->deleted);
}
More information about the Devel
mailing list