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

Andrew Morton
2008-05-30T04:59:42Z

On Thu, 29 May 2008 20:56:20 -0700 Christoph Lameter <clameter@sgi.com> wrote:

> In various places the kernel maintains arrays of pointers indexed by
> processor numbers. These are used to locate objects that need to be used
> when executing on a specirfic processor. Both the slab allocator
> and the page allocator use these arrays and there the arrays are used in
> performance critical code. The allocpercpu functionality is a simple
> allocator to provide these arrays.

All seems reasonable to me. The obvious question is "how do we size
the arena". We either waste memory or, much worse, run out.

And running out is a real possibility, I think. Most people will only
mount a handful of XFS filesystems. But some customer will come along
who wants to mount 5,000, and distributors will need to cater for that,
but how can they?

I wonder if we can arrange for the default to be overridden via a
kernel boot option?

Another obvious question is "how much of a problem will we have with
internal fragmentation"? This might be a drop-dead showstopper.