Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [patch] generic-ipi: remove kmalloc, cleanup | Date | Sat, 14 Feb 2009 07:46:44 +1030 |
| |
On Thursday 12 February 2009 22:39:14 Peter Zijlstra wrote: > So it put in unconditionally, how about this? > > > -- > Subject: generic-smp: remove single ipi fallback for smp_call_function_many() > > In preparation of removing the kmalloc() calls from the generic-ipi code > get rid of the single ipi fallback for smp_call_function_many(). > > Because we cannot get around carrying the cpumask in the data -- imagine > 2 such calls with different but overlapping masks -- put in a full mask.
OK, if you really want this, please just change it to: unsigned long cpumask_bits[BITS_TO_LONGS(CONFIG_NR_CPUS)];
The 'struct cpumask' will be undefined soon when CONFIG_CPUMASK_OFFSTACK=y, which will prevent assignment and declaration on stack.
I'd be fascinated to see perf numbers once you kill the kmalloc. Because this patch will add num_possible_cpus * NR_CPUS/8 bytes to the kernel which is something we're trying to avoid unless necessary.
Thanks, Rusty.
| |