Messages in this thread Patch in this message | | | Date | Fri, 05 Jun 2009 10:57:10 -0700 | From | Yinghai Lu <> | Subject | Re: [PATCH] cpumask: alloc blank cpumask left over |
| |
It seems we could remove that FIXME now. cpumask_size is referred rather later.
Subject: [PATCH] use nr_cpumask_bits for cpumask_size calculating
so alloc_cpusmask_var could save some space when MAXSMP is used aka NR_CPUS is 4096 on small conf system
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
--- include/linux/cpumask.h | 4 +--- lib/cpumask.c | 8 -------- 2 files changed, 1 insertion(+), 11 deletions(-)
Index: linux-2.6/include/linux/cpumask.h =================================================================== --- linux-2.6.orig/include/linux/cpumask.h +++ linux-2.6/include/linux/cpumask.h @@ -996,9 +996,7 @@ static inline int cpulist_parse(const ch */ static inline size_t cpumask_size(void) { - /* FIXME: Once all cpumask assignments are eliminated, this - * can be nr_cpumask_bits */ - return BITS_TO_LONGS(NR_CPUS) * sizeof(long); + return BITS_TO_LONGS(nr_cpumask_bits) * sizeof(long); } /* Index: linux-2.6/lib/cpumask.c =================================================================== --- linux-2.6.orig/lib/cpumask.c +++ linux-2.6/lib/cpumask.c @@ -100,14 +100,6 @@ bool alloc_cpumask_var_node(cpumask_var_ dump_stack(); } #endif - /* FIXME: Bandaid to save us from old primitives which go to NR_CPUS. */ - if (*mask) { - unsigned char *ptr = (unsigned char *)cpumask_bits(*mask); - unsigned int tail; - tail = BITS_TO_LONGS(NR_CPUS - nr_cpumask_bits) * sizeof(long); - memset(ptr + cpumask_size() - tail, 0, tail); - } - return *mask != NULL; } EXPORT_SYMBOL(alloc_cpumask_var_node);
| |