Re: [PATCH] Allow per-cpu variables to be page-aligned
From: Rusty Russell
Date: Wed Mar 21 2007 - 07:44:53 EST
On Wed, 2007-03-21 at 03:21 -0600, Eric W. Biederman wrote:
> Do we really want to allow modules to be able to allocate page sized
> per cpu memory.
Hi Eric!
They always could, of course, they just wouldn't get correct alignment.
I think the principle of least surprise says that if we support this, it
will also work in modules...
> If my memory servers on how this code works we will wind
> up allocating 1 page of per cpu memory for every module that allocates a
> per cpu variable. 128 bytes sucks 4k is an order of magnitude worse.
Not quite. We allocate a total amount of per-cpu memory at boot, then
anything left over gets used for per-cpu vars in modules.
Looking at the module per-cpu code again, the rounding up of the memory
used by the kernel seems unnecessary though. I'll try ripping that
out...
> On x86_64 we are only reserving 8K for modules...
Really? I can't see that.
It did look like the x86-64 setup_per_cpu_areas should be moved into
common code though (it's numa-aware). Maybe that breaks some platforms.
It means the x86 cpu_pda initialization would have to be done in
smp_prepare_boot_cpu tho...
Cheers!
Rusty.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/