diff options
Diffstat (limited to 'lib/cpumask.c')
| -rw-r--r-- | lib/cpumask.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/lib/cpumask.c b/lib/cpumask.c index 1f71b97de0f9..7bb4142a502f 100644 --- a/lib/cpumask.c +++ b/lib/cpumask.c | |||
| @@ -92,15 +92,8 @@ int cpumask_any_but(const struct cpumask *mask, unsigned int cpu) | |||
| 92 | */ | 92 | */ |
| 93 | bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node) | 93 | bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node) |
| 94 | { | 94 | { |
| 95 | if (likely(slab_is_available())) | 95 | *mask = kmalloc_node(cpumask_size(), flags, node); |
| 96 | *mask = kmalloc_node(cpumask_size(), flags, node); | 96 | |
| 97 | else { | ||
| 98 | #ifdef CONFIG_DEBUG_PER_CPU_MAPS | ||
| 99 | printk(KERN_ERR | ||
| 100 | "=> alloc_cpumask_var: kmalloc not available!\n"); | ||
| 101 | #endif | ||
| 102 | *mask = NULL; | ||
| 103 | } | ||
| 104 | #ifdef CONFIG_DEBUG_PER_CPU_MAPS | 97 | #ifdef CONFIG_DEBUG_PER_CPU_MAPS |
| 105 | if (!*mask) { | 98 | if (!*mask) { |
| 106 | printk(KERN_ERR "=> alloc_cpumask_var: failed!\n"); | 99 | printk(KERN_ERR "=> alloc_cpumask_var: failed!\n"); |
| @@ -119,6 +112,12 @@ bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node) | |||
| 119 | } | 112 | } |
| 120 | EXPORT_SYMBOL(alloc_cpumask_var_node); | 113 | EXPORT_SYMBOL(alloc_cpumask_var_node); |
| 121 | 114 | ||
| 115 | bool zalloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node) | ||
| 116 | { | ||
| 117 | return alloc_cpumask_var_node(mask, flags | __GFP_ZERO, node); | ||
| 118 | } | ||
| 119 | EXPORT_SYMBOL(zalloc_cpumask_var_node); | ||
| 120 | |||
| 122 | /** | 121 | /** |
| 123 | * alloc_cpumask_var - allocate a struct cpumask | 122 | * alloc_cpumask_var - allocate a struct cpumask |
| 124 | * @mask: pointer to cpumask_var_t where the cpumask is returned | 123 | * @mask: pointer to cpumask_var_t where the cpumask is returned |
| @@ -135,6 +134,12 @@ bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags) | |||
| 135 | } | 134 | } |
| 136 | EXPORT_SYMBOL(alloc_cpumask_var); | 135 | EXPORT_SYMBOL(alloc_cpumask_var); |
| 137 | 136 | ||
| 137 | bool zalloc_cpumask_var(cpumask_var_t *mask, gfp_t flags) | ||
| 138 | { | ||
| 139 | return alloc_cpumask_var(mask, flags | __GFP_ZERO); | ||
| 140 | } | ||
| 141 | EXPORT_SYMBOL(zalloc_cpumask_var); | ||
| 142 | |||
| 138 | /** | 143 | /** |
| 139 | * alloc_bootmem_cpumask_var - allocate a struct cpumask from the bootmem arena. | 144 | * alloc_bootmem_cpumask_var - allocate a struct cpumask from the bootmem arena. |
| 140 | * @mask: pointer to cpumask_var_t where the cpumask is returned | 145 | * @mask: pointer to cpumask_var_t where the cpumask is returned |
