lkml.org 
[lkml]   [2009]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [GIT PULL v2] Early SLAB fixes for 2.6.31
    From
    Date
    On Tue, 2009-06-16 at 06:46 +0200, Nick Piggin wrote:
    > On Tue, Jun 16, 2009 at 07:31:38AM +1000, Benjamin Herrenschmidt wrote:
    > > On Mon, 2009-06-15 at 13:23 +0200, Nick Piggin wrote:
    > > > > I think the main problem isn't necessarily init code per se, but the
    > > > > pile of -common- code that can be called both at init time and
    > > > later.
    > > >
    > > > Just seems bogus argument. Everwhere else that does this (ie.
    > > > allocations that are called from multiple allocation contexts)
    > > > passes correct gfp flags down.
    > >
    > > So you say we should create new variants of all these APIs that take gfp
    > > flags as arguments just because they might be called early during boot :
    >
    > No, just create the ones that actually are called in early boot.

    About all of the ones below and more :-) It all depends what you define
    by "early" though :-)

    > > - All the vmalloc interfaces (__get_vm_area() and it's 5 or 6 variants)
    > > - Allocation of PCI host bridges data structures in the powerpc code
    > > - Allocation of interrupt controller domains in the powerpc code
    > > - Page table allocations (oops ... can't change that arch specific,
    > > would have to be a generic change)
    >
    > No it would not. If an arch (eg s390) does this in early boot, then
    > it can create its own allocation function which takes a gfp mask, and
    > define the generic one to just pass it a GFP_KERNEL. generic code does
    > not call this in early boot of course.

    Right, which means that ioremap needs a special code path early boot
    since it uses this etc...

    We are basically adding special-cases in a whole lot of places, which
    could -ALL- be removed just by having the allocator do the "right
    thing" :-)

    > > - ioremap (which call both __get_vm_area() and page table allocs)
    > > - ...
    > >
    > > Are you just insane ? :-)
    >
    > I think so, but that's besides the point ;)

    Allright, I concede that :-)

    Cheers,
    Ben.




    \
     
     \ /
      Last update: 2009-06-16 07:23    [W:0.027 / U:1.444 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site