lkml.org 
[lkml]   [2011]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: kernel BUG at mm/vmscan.c:1114
    On Tue, 2 Aug 2011 15:09:57 +0800 Xiaotian Feng <xtfeng@gmail.com> wrote:

    > __ __I'm hitting the kernel BUG at mm/vmscan.c:1114 twice, each time I
    > was trying to build my kernel. The photo of crash screen and my config
    > is attached.

    hm, now why has that started happening?

    Perhaps you could apply this debug patch, see if we can narrow it down?

    --- a/mm/vmscan.c~a
    +++ a/mm/vmscan.c
    @@ -54,6 +54,8 @@
    #define CREATE_TRACE_POINTS
    #include <trace/events/vmscan.h>

    +#define D() do { printk("%s:%d\n", __FILE__, __LINE__); } while (0)
    +
    /*
    * reclaim_mode determines how the inactive list is shrunk
    * RECLAIM_MODE_SINGLE: Reclaim only order-0 pages
    @@ -1018,27 +1020,37 @@ int __isolate_lru_page(struct page *page
    int ret = -EINVAL;

    /* Only take pages on the LRU. */
    - if (!PageLRU(page))
    + if (!PageLRU(page)) {
    + D();
    return ret;
    + }

    /*
    * When checking the active state, we need to be sure we are
    * dealing with comparible boolean values. Take the logical not
    * of each.
    */
    - if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode))
    + if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode)) {
    + printk("mode:%d\n", mode);
    + D();
    return ret;
    + }

    - if (mode != ISOLATE_BOTH && page_is_file_cache(page) != file)
    + if (mode != ISOLATE_BOTH && page_is_file_cache(page) != file) {
    + printk("mode: %d, pifc: %d, file: %d\n", mode,
    + page_is_file_cache(page), file);
    + D();
    return ret;
    -
    + }
    /*
    * When this function is being called for lumpy reclaim, we
    * initially look into all LRU pages, active, inactive and
    * unevictable; only give shrink_page_list evictable pages.
    */
    - if (PageUnevictable(page))
    + if (PageUnevictable(page)) {
    + D();
    return ret;
    + }

    ret = -EBUSY;

    _


    \
     
     \ /
      Last update: 2011-08-02 09:23    [W:0.022 / U:0.176 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site