|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [RFO] #2: removing a concurrency bottleneck
On 19/03/2009 17:52, "Dan Magenheimer" <dan.magenheimer@xxxxxxxxxx> wrote:
> I see two solutions: cascading or per-cpu.
>
> In per-cpu, I would allocate at system initialization one
> pair of buffers for each cpu (question: num_present_cpus,
> num_online_cpus, or num_possible_cpus?). Then no lock
> is required.
Just do this. A few pages per cpu is no significant overhead.
I suggest you allocate the buffers and store their addresses in your own
array of size NR_CPUS. You could do this from an __initcall function, or
from some other boot-time init function you have handy. The percpu stuff is
a bit fragile to large allocations (since we manually size the percpu
region!) and you will get no real benefit from it since we do not free/alloc
the percpu regions as cpus are onlined/offlined.
-- keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|