lkml.org 
[lkml]   [2006]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] mm: add a nopanic option for low bootmem
    This patch adds a no panic option for low bootmem allocs.  This will
    allow for a more graceful handling of "out of memory" for those
    callers who wish to handle it.

    Thanks,
    Jon

    Signed-off-by: Jon Mason <jdmason@us.ibm.com>

    diff -r 307c5ac10c26 include/linux/bootmem.h
    --- a/include/linux/bootmem.h Sat Apr 22 12:21:45 2006
    +++ b/include/linux/bootmem.h Mon Apr 24 09:59:50 2006
    @@ -46,6 +46,7 @@
    extern void __init free_bootmem (unsigned long addr, unsigned long size);
    extern void * __init __alloc_bootmem (unsigned long size, unsigned long align, unsigned long goal);
    extern void * __init __alloc_bootmem_nopanic (unsigned long size, unsigned long align, unsigned long goal);
    +extern void * __init __alloc_bootmem_low_nopanic(unsigned long size, unsigned long align, unsigned long goal);
    extern void * __init __alloc_bootmem_low(unsigned long size,
    unsigned long align,
    unsigned long goal);
    diff -r 307c5ac10c26 mm/bootmem.c
    --- a/mm/bootmem.c Sat Apr 22 12:21:45 2006
    +++ b/mm/bootmem.c Mon Apr 24 09:59:50 2006
    @@ -463,3 +463,16 @@
    {
    return __alloc_bootmem_core(pgdat->bdata, size, align, goal, LOW32LIMIT);
    }
    +
    +void * __init __alloc_bootmem_low_nopanic(unsigned long size,
    + unsigned long align, unsigned long goal)
    +{
    + bootmem_data_t *bdata;
    + void *ptr;
    +
    + list_for_each_entry(bdata, &bdata_list, list)
    + if ((ptr = __alloc_bootmem_core(bdata, size, align, goal,
    + LOW32LIMIT)))
    + return(ptr);
    + return NULL;
    +}
    -
    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: 2006-04-24 23:47    [W:0.022 / U:30.336 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site