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

Ingo Molnar
2007-12-22T19:15:30Z

* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> > > It's definitely not a stable ABI. slabtop tends to exit without
> > > any error message on any slabinfo version number increase and I've
> > > seen that happen several times in not so old kernels.
> >
> > so because we sucked in the past we can continue to suck? ;)
>
> Well, I do have to admit that I'm not a huge fan of /proc/slabinfo,
> and the fact that there hasn't been a lot of complaints about it going
> away does seem to imply that it wasn't a very important ABI.
>
> I'm the first to stand up for backwards compatibility, but I also try
> to be realistic, and so far nobody has really complained about the
> fact that /proc/slabinfo went away on any grounds but on the general
> principle of "it was a user-visible ABI".
>
> We've changed user-visible ABI's in the past in the hope that they
> weren't actually used. Sometimes it worked, sometimes it didn't. In
> this case, I think it still has the potential of working.
>
> That said, I'm not a *huge* fan of /sys/slab/ either. I can get the
> info I as a developer tend to want from there, but it's really rather
> less convenient than I'd like. It is really quite hard, for example,
> to get any kind of "who actually uses the most *memory*" information
> out of there.

Yes, i agree that me calling it an 'ABI' stretches the term - we dont
want to put ourselves into a forced compatibility corner in every case
where /proc does something really stupid. But /proc/slabinfo is being
used, slabtop is installed and deployed, so why break it unnecessarily?
It's not like we couldnt remove /proc/slabinfo later on, via the normal
route of feature removal. I think Pekka's patch that adds /proc/slabinfo
is simple and reasonable enough for 2.6.24.

We can get rid of /proc/slabinfo but then it should i think be done via
the normal route of Documentation/feature-removal-schedule.txt. Was
there any particular problem with /proc/slabinfo, at least as far as the
read-only access that slabtop does goes? I dont think there was. So why
should we go out on a limb _not_ providing it when there's a patch
available, etc. I just googled a bit and people _have_ asked about
slabtop availability, and the impression was that it would be offered by
the time SLUB becomes the default. (and this was mentioned by others in
this discussion)

I'd also not rely on the fact that only a few people are complaining.
Most people, even 2.6.24-rc early adopters, still use SLAB because early
adopters typically use their .23 .config and do a 'make oldconfig' -
which picks up SLAB. So SLUB use will become more widespread only once
2.6.24 is out and is packaged in distros. Distros will likely pick SLUB
if there's no performance worries and if it's the default. Fedora
rawhide already uses SLUB.

Ingo