lkml.org 
[lkml]   [2008]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] greatly reduce SLOB external fragmentation
On Thu, 10 January 2008 11:49:25 -0600, Matt Mackall wrote:
>
> b) grouping objects of the same -type- (not size) together should mean
> they have similar lifetimes and thereby keep fragmentation low
>
> (b) is known to be false, you just have to look at our dcache and icache
> pinning.

(b) is half-true, actually. The grouping by lifetime makes a lot of
sense. LogFS has a similar problem to slabs (only full segments are
useful, a single object can pin the segment). And when I grouped my
objects very roughly by their life expectency, the impact was *HUGE*!

In both cases, you want slabs/segments that are either close to 100%
full or close to 0% full. It matters a lot when you have to move
objects around and I would bet it matters even more when you cannot move
objects and the slab just remains pinned.

So just because the type alone is a relatively bad heuristic for life
expectency does not make the concept false. Bonwick was onto something.
He just failed in picking a good heuristic. Quite likely spreading by
type was even a bonus when slab was developed, because even such a crude
heuristic is slightly better than completely randomized lifetimes.

I've been meaning to split the dentry cache into 2-3 seperate ones for a
while and kept spending my time elsewhere. But I remain convinced that
this will make a measurable difference.

Jörn

--
Never argue with idiots - first they drag you down to their level,
then they beat you with experience.
-- unknown
--
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: 2008-01-10 22:35    [W:0.135 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site