Messages in this thread | | | Subject | Re: slab: setup allocators earlier in the boot sequence | From | Benjamin Herrenschmidt <> | Date | Sat, 13 Jun 2009 00:02:50 +1000 |
| |
On Fri, 2009-06-12 at 16:54 +0300, Pekka Enberg wrote: > Hi Christoph, > > On Fri, 2009-06-12 at 09:49 -0400, Christoph Lameter wrote: > > Best thing to do is to recognize the fact that we are still in early boot > > in the allocators. Derived allocators (such as slab and vmalloc) mask bits > > using GFP_RECLAIM_MASK and when doing allocations through the page > > allocator. You could make GFP_RECLAIM_MASK a variable. During boot > > __GFP_WAIT would not be set in GFP_RECLAIM_MASK. > > Ben's patch does something like that and I have patches that do that > floating around too. > > The problem here is that it's not enough that we make GFP_RECLAIM_MASK a > variable. There are various _debugging checks_ that happen much earlier > than that. We need to mask out those too which adds overhead to > kmalloc() fastpath, for example.
Hrm... I though I stuck my masking before the lockdep tests but maybe I missed some...
Again, I'm not saying my patch is the best way to solve it. My point is more that the callers shouldn't have to bother. (And thus the WARN_ON isn't right :-)
Cheers, Ben.
| |