Re: [RFC PATCH] greatly reduce SLOB external fragmentation

From: Pekka J Enberg
Date: Wed Jan 09 2008 - 17:44:04 EST


Hi Matt,

On Wed, 9 Jan 2008, Matt Mackall wrote:
> I kicked this around for a while, slept on it, and then came up with
> this little hack first thing this morning:
>
> ------------
> slob: split free list by size
>

[snip]

> And the results are fairly miraculous, so please double-check them on
> your setup. The resulting statistics change to this:

[snip]

> So the average jumped by 714k from before the patch, became much more
> stable, and beat SLUB by 287k. There are also 7 perfectly filled pages
> now, up from 1 before. And we can't get a whole lot better than this:
> we're using 259 pages for 244 pages of actual data, so our total
> overhead is only 6%! For comparison, SLUB's using about 70 pages more
> for the same data, so its total overhead appears to be about 35%.

Unfortunately I only see a slight improvement to SLOB (but it still gets
beaten by SLUB):

[ the minimum, maximum, and average are captured from 10 individual runs ]

Free (kB) Used (kB)
Total (kB) min max average min max average
SLUB (no debug) 26536 23868 23892 23877.6 2644 2668 2658.4
SLOB (patched) 26548 23456 23708 23603.2 2840 3092 2944.8
SLOB (vanilla) 26548 23472 23640 23579.6 2908 3076 2968.4
SLAB (no debug) 26544 23316 23364 23343.2 3180 3228 3200.8
SLUB (with debug) 26484 23120 23136 23127.2 3348 3364 3356.8

What .config did you use? What kind of user-space do you have? (I am still
using the exact same configuration I described in the first mail.)

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