Commit cd83e42c6b0413dcbb548c2ead799111ff7e6a13

Authored by Rusty Russell
Committed by Ingo Molnar
1 parent 2d3854a37e

cpumask: new API, v2

- add cpumask_of()
- add free_bootmem_cpumask_var()

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

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

include/linux/cpumask.h
... ... @@ -894,6 +894,12 @@
894 894 #define cpumask_any_and(mask1, mask2) cpumask_first_and((mask1), (mask2))
895 895  
896 896 /**
  897 + * cpumask_of - the cpumask containing just a given cpu
  898 + * @cpu: the cpu (<= nr_cpu_ids)
  899 + */
  900 +#define cpumask_of(cpu) (get_cpu_mask(cpu))
  901 +
  902 +/**
897 903 * to_cpumask - convert an NR_CPUS bitmap to a struct cpumask *
898 904 * @bitmap: the bitmap
899 905 *
... ... @@ -946,6 +952,7 @@
946 952 bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags);
947 953 void alloc_bootmem_cpumask_var(cpumask_var_t *mask);
948 954 void free_cpumask_var(cpumask_var_t mask);
  955 +void free_bootmem_cpumask_var(cpumask_var_t mask);
949 956  
950 957 #else
951 958 typedef struct cpumask cpumask_var_t[1];
... ... @@ -960,6 +967,10 @@
960 967 }
961 968  
962 969 static inline void free_cpumask_var(cpumask_var_t mask)
  970 +{
  971 +}
  972 +
  973 +static inline void free_bootmem_cpumask_var(cpumask_var_t mask)
963 974 {
964 975 }
965 976 #endif /* CONFIG_CPUMASK_OFFSTACK */
... ... @@ -107,5 +107,10 @@
107 107 kfree(mask);
108 108 }
109 109 EXPORT_SYMBOL(free_cpumask_var);
  110 +
  111 +void free_bootmem_cpumask_var(cpumask_var_t mask)
  112 +{
  113 + free_bootmem((unsigned long)mask, cpumask_size());
  114 +}
110 115 #endif