Rusty Russell wrote:
>
> In message <3D422553.6B126242@zip.com.au> you write:
> > Good. And will it be possible to iterate across all CPUs
> > without having to iterate across NR_CPUS?
>
> Hmm, define *all cpus* please? All online cpus? All possible CPUs?
All possible.
> Interface discussed with DaveM was: first_cpu(), next_cpu(cpu), which
> covers online CPUs, and gives a nice interface for things like irq
> balancers which want to snarf the next online cpu.
>
> Like it?
for (cpu = first_cpu(); cpu != (what?); cpu = next_cpu(cpu))
that'll work.
> ...
>
> > The is pretty much entirely wasted memory, and it will only get
> > worse. Making NR_CPUS compile-time configurable is a lame solution.
> > Wasting the memory is out of the question.
> >
> > Dynamic allocation is the only thing left, yes?
>
> Um, no! Here is the plan:
>
> 1) change per-cpu data to only allocate data for cpus where
> cpu_possible(i) (add cache coloring and NUMA allocation as desired).
>
> 2) Convert non-modular cases to use per-cpu data (once the interface
> changes again, <SIGH>).
>
> We'll end up using *less* memory than before. We're just doing it in
> easy stages.
>
> Feel better now?
Yup.
-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Jul 30 2002 - 14:00:26 EST