lkml.org 
[lkml]   [2009]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: Badness on the Warp
    From
    On Sun, Jun 21, 2009 at 7:28 AM, Frans Pop<elendil@planet.nl> wrote:
    > On Sunday 21 June 2009, Sean MacLennan wrote:
    >> I found the source of the badness. The backtrace is correct:
    >>
    >> uic_init_one
    >
    > So that's in arch/powerpc/sysdev/uic.c.
    >
    >> ___alloc_bootmem
    >> ___alloc_bootmem_nopanic
    >> alloc_arch_preferred_bootmem
    >>
    >> In alloc_arch_preferred_bootmem we have:
    >>
    >>       if (WARN_ON_ONCE(slab_is_available()))
    >>               return kzalloc(size, GFP_NOWAIT);
    >>
    >> Since the slab is available (it had better be or the call will return
    >> NULL), we get the badness message, then a successful return from
    >> kzalloc.
    >>
    >> I believe the author wants something like:
    >>
    >>       if (slab_is_available())
    >>               return kzalloc(size, GFP_NOWAIT);
    >>       else
    >>               WARN_ON_ONCE(1);
    >
    > Well, I myself have no idea. It could also indicate a bug in the uic code.
    >
    > But let's CC some people responsible for this code. Pekka recently added
    > this WARN that triggers in your case; David and Paul look to be the
    > people most involved in the uic code.
    >
    > Start of the thread is at http://lkml.org/lkml/2009/6/20/165.

    The WARN_ON() is there to let us know that someone is doing a bootmem
    allocation but the slab allocator is already up. So the proper fix
    here is to use kmalloc() directly in the call-site that triggers this
    WARN_ON. I'm cc'ing Ben as he has been taking care of the fall-out
    from my patches on ppc.

    Pekka
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-06-21 12:23    [W:0.022 / U:1.972 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site