Re: [patch 00/41] cpu alloc / cpu ops v3: Optimize per cpu access

Christoph Lameter
2008-05-30T06:16:21Z

On Thu, 29 May 2008, Andrew Morton wrote:

> > No. The module subsystem has its own alloc_percpu subsystem that the
> > cpu_alloc replaces.
>
> That is to support DEFINE_PER_CPU, not alloc_percpu().

Right but it needs to have its own section of the percpu space from which
it allocates the percpu segments for the modules. So it effectively
implements an allocator.

> If we were to merge all this code and then run into the problems which
> I fear then we are tremendously screwed. We must examine this
> exhaustively, in the most paranoid fashion.

Well V2 virtually mapped the cpu alloc area which allowed extending it
arbitrarily. But that made things very complicated.

The number of per cpu resources needed is mostly fixed. The number of
zones, nodes, slab caches, network interfaces etc etc does not change much
during typical operations.