On Mon, 2008-07-28 at 11:59 -0500, Matt Mackall wrote:
On Mon, 2008-07-28 at 12:39 +0200, Peter Zijlstra wrote:
quoted
Also, you might have noticed, I still need to do everything SLOB. The
last time I rewrote all this code I was still hoping Linux would 'soon'
have a single slab allocator, but evidently we're still going with 3 for
now.. :-/
So I guess I can no longer hide behind that and will have to bite the
bullet and write the SLOB bits..
I haven't seen the rest of this thread, but I presume this is part of
your OOM-avoidance for network I/O framework?
Yes indeed.
SLOB can be pretty easily expanded to handle a notion of independent
allocation arenas as there are only a couple global variables to switch
between. kfree will also return allocations to the page list (and
therefore arena) from whence they came. That may make it pretty simple
to create and prepopulate reserve pools.
Right - currently we let all the reserves sit on the free page list. The
advantage there is that it also helps the anti-frag stuff, due to having
larger free lists.