Messages in this thread | | | Date | Tue, 16 Jun 2009 12:33:58 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [GIT PULL v2] Early SLAB fixes for 2.6.31 |
| |
On Tue, 16 Jun 2009, Christoph Lameter wrote: > > > > I'd rather get rid of the whole slab_is_available() thing entirely. > > slab_is_available is necessary for slab bootstrap but if we use > system_state for this then its not necessary anymore.
Well, if it's purely internal to slab itself, then I don't care. It should be made static inside mm/slab.c
> > IOW, we should strive for not having any code that is at all confused > > about whether it can do slab allocations or not. > > So encode the stage of boot up in system_state? Maybe add documentation to > explan what is possible at these states and what is not?
No.
I mean that there should never be any _need_ for dynamically querying whether slab is available or not. Nothing should ever do it, because we should strive for slab being available so early that anything that happens before it _knows_ that it is special case code (eg "set up initial page tables") and would never have any reason what-so-ever for even conditionally asking "should I use slab".
So I literally mean "get rid of slab_is_available()" - and the fact that SLAB itself _internally_ has some internal state is irrelevant (SLUB and SLOB do not, for example).
Linus
| |