lkml.org 
[lkml]   [2004]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] Reimplementation of linux dynamic percpu memory allocator
On Mon, Dec 20, 2004 at 07:24:07PM +0100, Manfred Spraul wrote:
> >
> 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.

If there is a stress test I can use, I can try running it.

> >>>
> >..
> 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.

Hmm...the arithmetic becomes tricky then. Right now I allocate
NR_CPUS * PCU_BLOCKSIZE + BLOCK_MANAGEMENT_SIZE amount of KVA for a block,
allocate pages for cpu_possible cpus and map corresponding va space
with allocated pages using map_vm_area. We may fragment if
NR_CPUS * PCPU_BLOCKSIZE doesn't fit into a proper page order,
also we'd be wasting pages for !cpu_possible(cpus) of NR_CPUS

Thanks,
Kiran
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.105 / U:1.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site