Re: Major regression on hackbench with SLUB (more numbers)

Willy Tarreau
2007-12-22T22:15:25Z

On Sat, Dec 22, 2007 at 01:00:09PM -0800, Linus Torvalds wrote:
>
>
> On Sat, 22 Dec 2007, Theodore Tso wrote:
> >
> > I have a general problem with things in /sys/slab, and that's just
> > because they are *ugly*. So yes, you can write ugly shell scripts
> > like this to get out information:
>
> [ script deleted ]
>
> > But sometimes when trying to eyeball what is going on, it's a lot
> > nicer just to use "cat /proc/slabinfo".
>
> .. and I call BS on this claim.
>
> /proc/slabinfo was (and is) totally pointless for "trying to eyeball
> what's going on". The output is totally unreadable, and useless. You end
> up with exactly the same script as above, except it reads as
>
> cat /proc/slabinfo | (read headerline
> while read name active num objsize objsperslab pagesperslab rest
> do
> realsize=$(( nul * objsize ))
> size=$(( active * objsize ))
> .. exact same rest of loop ..
> done | sort -n | ..
>
> so no, "cat /proc/slabinfo" was almost never practical on its own.
>
> The *one* advantage it does have is that you can forward it to others.
> That's a big advantage. But no, it wasn't ever readable for eyeballing,
> because it doesn't even give you a memory usage thing (just "number of
> objects and object size" as separate numbers).

I don't agree with you Linus. I'm one of those used to quickly take a
look at its contents when I don't know where all my memory has gone.
I know by experience that if I find 6-digit values in dentry_cache or
inode_cache, all I was looking for is there, and that's enough for a
quick diag. It doesn't give anything accurate, but it's very useful
to quickly diag out some problems on production systems.

It was this week that I noticed for the first time that slabinfo did
not exist anymore, and did not know what replaced it. Lacking time,
I finally gave up and *supposed* that the memory was eaten by the
usual suspects.

I can understand that it has to go away for technical reasons, but Ted
is right, please don't believe that nobody uses it just because you got
no complaint. While people are not likely to perform all computations
in scripts, at least they're used to find some quickly identifiable
patterns there.

Willy