Re: [RFC] Reimplementation of linux dynamic percpu memory allocator

From: Manfred Spraul
Date: Mon Dec 20 2004 - 13:26:10 EST

Ravikiran G Thirumalai wrote:

Hmmm..I knew from some experiments earlier that access to per cpu versions
of memory was slow with the slab based implementation -- which this patch
addresses, but I didn't know allocs themselves were slow...
Creation of a disk should not be a fast path no?

No, not fast path. But it can happen a few thousand times. The slab implementation failed due to heavy internal fragmentation. If your code runs fine with a few thousand users, then there shouldn't be a problem.

That means no large pte entries for the per-cpu allocations, right?
I think that's a bad idea for non-numa systems. What about a fallback to simple getfreepages() for non-numa systems?

Can we have large pte entries with PAGE_SIZEd pages?

For non-NUMA systems, I would use get_free_pages() to allocate a multi-page area instead of map_vm_area(). Typically, get_free_pages() is backed by large pte memory and map_vm_area() by normal virtual memory.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at