diff options
| -rw-r--r-- | include/linux/cpumask.h | 15 | ||||
| -rw-r--r-- | lib/cpumask.c | 12 |
2 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index 9f315382610b..c5ac87ca7bc6 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h | |||
| @@ -1022,6 +1022,8 @@ typedef struct cpumask *cpumask_var_t; | |||
| 1022 | 1022 | ||
| 1023 | bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node); | 1023 | bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node); |
| 1024 | bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags); | 1024 | bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags); |
| 1025 | bool zalloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node); | ||
| 1026 | bool zalloc_cpumask_var(cpumask_var_t *mask, gfp_t flags); | ||
| 1025 | void alloc_bootmem_cpumask_var(cpumask_var_t *mask); | 1027 | void alloc_bootmem_cpumask_var(cpumask_var_t *mask); |
| 1026 | void free_cpumask_var(cpumask_var_t mask); | 1028 | void free_cpumask_var(cpumask_var_t mask); |
| 1027 | void free_bootmem_cpumask_var(cpumask_var_t mask); | 1029 | void free_bootmem_cpumask_var(cpumask_var_t mask); |
| @@ -1040,6 +1042,19 @@ static inline bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, | |||
| 1040 | return true; | 1042 | return true; |
| 1041 | } | 1043 | } |
| 1042 | 1044 | ||
| 1045 | static inline bool zalloc_cpumask_var(cpumask_var_t *mask, gfp_t flags) | ||
| 1046 | { | ||
| 1047 | cpumask_clear(*mask); | ||
| 1048 | return true; | ||
| 1049 | } | ||
| 1050 | |||
| 1051 | static inline bool zalloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, | ||
| 1052 | int node) | ||
| 1053 | { | ||
| 1054 | cpumask_clear(*mask); | ||
| 1055 | return true; | ||
| 1056 | } | ||
| 1057 | |||
| 1043 | static inline void alloc_bootmem_cpumask_var(cpumask_var_t *mask) | 1058 | static inline void alloc_bootmem_cpumask_var(cpumask_var_t *mask) |
| 1044 | { | 1059 | { |
| 1045 | } | 1060 | } |
diff --git a/lib/cpumask.c b/lib/cpumask.c index 1f71b97de0f9..eb23aaa0c7b8 100644 --- a/lib/cpumask.c +++ b/lib/cpumask.c | |||
| @@ -119,6 +119,12 @@ bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node) | |||
| 119 | } | 119 | } |
| 120 | EXPORT_SYMBOL(alloc_cpumask_var_node); | 120 | EXPORT_SYMBOL(alloc_cpumask_var_node); |
| 121 | 121 | ||
| 122 | bool zalloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node) | ||
| 123 | { | ||
| 124 | return alloc_cpumask_var_node(mask, flags | __GFP_ZERO, node); | ||
| 125 | } | ||
| 126 | EXPORT_SYMBOL(zalloc_cpumask_var_node); | ||
| 127 | |||
| 122 | /** | 128 | /** |
| 123 | * alloc_cpumask_var - allocate a struct cpumask | 129 | * alloc_cpumask_var - allocate a struct cpumask |
| 124 | * @mask: pointer to cpumask_var_t where the cpumask is returned | 130 | * @mask: pointer to cpumask_var_t where the cpumask is returned |
| @@ -135,6 +141,12 @@ bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags) | |||
| 135 | } | 141 | } |
| 136 | EXPORT_SYMBOL(alloc_cpumask_var); | 142 | EXPORT_SYMBOL(alloc_cpumask_var); |
| 137 | 143 | ||
| 144 | bool zalloc_cpumask_var(cpumask_var_t *mask, gfp_t flags) | ||
| 145 | { | ||
| 146 | return alloc_cpumask_var(mask, flags | __GFP_ZERO); | ||
| 147 | } | ||
| 148 | EXPORT_SYMBOL(zalloc_cpumask_var); | ||
| 149 | |||
| 138 | /** | 150 | /** |
| 139 | * alloc_bootmem_cpumask_var - allocate a struct cpumask from the bootmem arena. | 151 | * alloc_bootmem_cpumask_var - allocate a struct cpumask from the bootmem arena. |
| 140 | * @mask: pointer to cpumask_var_t where the cpumask is returned | 152 | * @mask: pointer to cpumask_var_t where the cpumask is returned |
