Re: [SLUB 0/3] SLUB: The unqueued slab allocator V4



Note that I am amazed that the kernbench even worked. On small machine I
seem to be getting into trouble with order 1 allocations. SLAB seems to be
able to avoid the situation by keeping higher order pages on a freelist
and reduce the alloc/frees of higher order pages that the page allocator
has to deal with. Maybe we need per order queues in the page allocator?

There must be something fundamentally wrong in the page allocator if the
SLAB queues fix this issue. I was able to fix the issue in V5 by forcing
SLUB to keep a mininum number of objects around regardless of the fit to
a page order page. Pass through is deadly since the crappy page allocator
cannot handle it.

Higher order page allocation failures can be avoided by using kmalloc.
Yuck! Hopefully your patches fix that fundamental problem.

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



Relevant Pages

  • [SLUB 1/3] SLUB core
    ... sufficient objects to avoid frequent use of the page allocator. ... +#ifdef CONFIG_SLUB ... A Slab allocator without object queues. ...
    (Linux-Kernel)
  • [MODSLAB 0/5] Modular slab allocator V3
    ... The slabifier has no caches in the sense of the slab allocator. ... The slabifier needs no such mechanism in the single processor case. ...
    (Linux-Kernel)
  • [MODSLAB 0/7] A modular slab allocator V1
    ... This is a proposal for a modularized slab allocator. ... It is called the Slabifier because it can slabify any ... This allows a clean separation of NUMA. ...
    (Linux-Kernel)
  • Re: [patch] SLQB slab allocator
    ... The downside is that it brings the SLAB stuff back that SLUB was ... about the least sensitive part of the allocator because in a serious ... There is no reason why SLQB can't use higher order allocations if this ...
    (Linux-Kernel)
  • [PATCH] NUMA Slab Allocator
    ... This is a NUMA slab allocator. ... +static inline void *kmalloc_node(size_t size, int node, int flags) ...
    (Linux-Kernel)