lkml.org 
[lkml]   [2004]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: Possible dcache BUG


    On Thu, 12 Aug 2004, Udo A. Steinberg wrote:
    >
    > After nearly 2 days of running 2.6.8-rc4 with above patch backed out, the
    > machine has gone back into heavy swapping, being rather unresponsive for
    > several minutes. At that time the only bigger applications running were
    > X and my mailer, as can be seen in the ps output below.

    Your slab usage seems to be:

    cumulative usage name
    ========= ====== ====
    .....
    2,021,428 151,552 pgd
    2,182,804 161,376 size-96
    2,367,124 184,320 biovec-(256)
    2,559,124 192,000 biovec-128
    2,751,124 192,000 biovec-64
    2,997,076 245,952 ext3_inode_cache
    3,255,124 258,048 size-1024
    3,545,940 290,816 size-512
    3,843,468 297,528 radix_tree_node
    4,153,932 310,464 inode_cache
    4,494,972 341,040 dentry_cache
    4,994,684 499,712 size-8192
    5,912,188 917,504 size-32768
    105,397,820 99,485,632 size-64

    Something pretty much stands out.

    What the _heck_ is doing 64-byte allocations and leaking them?

    Can you figure out what triggers it for you? If nothing obvious comes to
    mind, could you do something really silly like this

    --- 1.141/mm/slab.c 2004-07-11 01:52:48 -07:00
    +++ edited/mm/slab.c 2004-08-12 18:30:00 -07:00
    @@ -2360,6 +2360,11 @@
    */
    BUG_ON(csizep->cs_cachep == NULL);
    #endif
    + if (csizep->cs_size == 64) {
    + static unsigned count;
    + if (!(4095 & ++count))
    + dump_stack();
    + }
    return __cache_alloc(flags & GFP_DMA ?
    csizep->cs_dmacachep : csizep->cs_cachep, flags);
    }

    (totally whitespace-damaged) which should just print out a stack dump
    every four thoudand allocations, which should give a good clue (somebody
    else might also be allocating those 64-byte things, but _likely_ we'll see
    at least one of the leakers.. Maybe.)


    Linus
    -
    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-11-18 23:46    [W:0.020 / U:30.300 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site