Commit 0281b5dc0350cbf6dd21ed558a33cccce77abc02

Authored by Yinghai Lu
Committed by Rusty Russell
1 parent 3af968e066

cpumask: introduce zalloc_cpumask_var

So can get cpumask_var with cpumask_clear

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Showing 2 changed files with 27 additions and 0 deletions Side-by-side Diff

include/linux/cpumask.h
... ... @@ -1022,6 +1022,8 @@
1022 1022  
1023 1023 bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node);
1024 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 1027 void alloc_bootmem_cpumask_var(cpumask_var_t *mask);
1026 1028 void free_cpumask_var(cpumask_var_t mask);
1027 1029 void free_bootmem_cpumask_var(cpumask_var_t mask);
... ... @@ -1037,6 +1039,19 @@
1037 1039 static inline bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags,
1038 1040 int node)
1039 1041 {
  1042 + return true;
  1043 +}
  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);
1040 1055 return true;
1041 1056 }
1042 1057  
... ... @@ -119,6 +119,12 @@
119 119 }
120 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 129 * alloc_cpumask_var - allocate a struct cpumask
124 130 * @mask: pointer to cpumask_var_t where the cpumask is returned
... ... @@ -134,6 +140,12 @@
134 140 return alloc_cpumask_var_node(mask, flags, numa_node_id());
135 141 }
136 142 EXPORT_SYMBOL(alloc_cpumask_var);
  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);
137 149  
138 150 /**
139 151 * alloc_bootmem_cpumask_var - allocate a struct cpumask from the bootmem arena.