mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-24 01:09:38 -05:00
lib: bitmap: Introduce node-aware alloc API
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>
This commit is contained in:
parent
06338ceff9
commit
7529cc7fbd
2 changed files with 15 additions and 0 deletions
|
@ -123,6 +123,8 @@ struct device;
|
||||||
*/
|
*/
|
||||||
unsigned long *bitmap_alloc(unsigned int nbits, gfp_t flags);
|
unsigned long *bitmap_alloc(unsigned int nbits, gfp_t flags);
|
||||||
unsigned long *bitmap_zalloc(unsigned int nbits, gfp_t flags);
|
unsigned long *bitmap_zalloc(unsigned int nbits, gfp_t flags);
|
||||||
|
unsigned long *bitmap_alloc_node(unsigned int nbits, gfp_t flags, int node);
|
||||||
|
unsigned long *bitmap_zalloc_node(unsigned int nbits, gfp_t flags, int node);
|
||||||
void bitmap_free(const unsigned long *bitmap);
|
void bitmap_free(const unsigned long *bitmap);
|
||||||
|
|
||||||
/* Managed variants of the above. */
|
/* Managed variants of the above. */
|
||||||
|
|
13
lib/bitmap.c
13
lib/bitmap.c
|
@ -1398,6 +1398,19 @@ unsigned long *bitmap_zalloc(unsigned int nbits, gfp_t flags)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(bitmap_zalloc);
|
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)
|
void bitmap_free(const unsigned long *bitmap)
|
||||||
{
|
{
|
||||||
kfree(bitmap);
|
kfree(bitmap);
|
||||||
|
|
Loading…
Add table
Reference in a new issue