Re: [patch 01/28] cpu alloc: The allocator

From: Eric Dumazet
Date: Tue Nov 13 2007 - 16:59:19 EST


Christoph Lameter a écrit :
On Tue, 13 Nov 2007, David Miller wrote:

One thing you could do is simply use a vmalloc allocation in the
non-virtualized case.

Yuck. Meaning to add more crappy code. The bss limitations to 8M is a bit strange though. Do other platforms have the same issues?

Maybe not so crappy, because even for i386 code, you might use not a strict vmalloc() implementation but at least reserving percpu space inside the vmalloc range. (ie not use a dedicated area as your current patchset does)

This is because NR_CPUS is defaulted to 32 on i386 (with a limit of 256), so reserving 256*256KB = 64 MB of virtual space might be too much. (this is half the typical vmalloc area)

The idea would be :

- Reserving an area of NR_CPUS*256KB inside vmalloc() space (but of course not allocating pages)

- Then for each non possible cpu, 'release' its 256KB area and give it back to vmalloc free areas pool.

Once you add in mm/vmalloc.c all needed helpers, no need to use BSS Megablob anymore ?
-
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/