summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTariq Toukan <tariqt@nvidia.com>2020-12-30 11:41:52 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-28 16:24:02 +0200
commit9737501f26b623a3a2564d1ee856fddbbd3457a4 (patch)
treec692c60e8212270fecb4410a8d8c9c688d006c56 /lib
parentce2f1b5d0f1305e177fcf1080694138ec1ae4c3c (diff)
lib: bitmap: Introduce node-aware alloc API
[ Upstream commit 7529cc7fbd9c02eda6851f3260416cbe198a321d ] Expose new node-aware API for bitmap allocation: bitmap_alloc_node() / bitmap_zalloc_node(). Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Reviewed-by: Moshe Shemesh <moshe@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> Stable-dep-of: 531d0d32de3e ("net/mlx5: Correctly set gso_size when LRO is used") Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/bitmap.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/bitmap.c b/lib/bitmap.c
index 663dd81967d4..926408883456 100644
--- a/lib/bitmap.c
+++ b/lib/bitmap.c
@@ -1398,6 +1398,19 @@ unsigned long *bitmap_zalloc(unsigned int nbits, gfp_t flags)
}
EXPORT_SYMBOL(bitmap_zalloc);
+unsigned long *bitmap_alloc_node(unsigned int nbits, gfp_t flags, int node)
+{
+ return kmalloc_array_node(BITS_TO_LONGS(nbits), sizeof(unsigned long),
+ flags, node);
+}
+EXPORT_SYMBOL(bitmap_alloc_node);
+
+unsigned long *bitmap_zalloc_node(unsigned int nbits, gfp_t flags, int node)
+{
+ return bitmap_alloc_node(nbits, flags | __GFP_ZERO, node);
+}
+EXPORT_SYMBOL(bitmap_zalloc_node);
+
void bitmap_free(const unsigned long *bitmap)
{
kfree(bitmap);