lkml.org 
[lkml]   [2009]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH][BUG] fix the calculation of the oldest_jif in wb_kupdate()
    From: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com>

    wb_kupdate() function has a bug on linux-2.6.30-rc5.
    This bug causes generic_sync_sb_inodes() to start to write inodes back
    much earlier than our expectations because it miscalculates oldest_jif
    in wb_kupdate().

    Signed-off-by: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
    ---
    page-writeback.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff -Nurp linux-2.6.30-rc5.orig/mm/page-writeback.c linux-2.6.30-rc5/mm/page-writeback.c
    --- linux-2.6.30-rc5.orig/mm/page-writeback.c 2009-05-09 09:14:14.000000000 +0900
    +++ linux-2.6.30-rc5/mm/page-writeback.c 2009-05-15 20:19:03.000000000 +0900
    @@ -94,12 +94,12 @@ unsigned long vm_dirty_bytes;
    /*
    * The interval between `kupdate'-style writebacks
    */
    -unsigned int dirty_writeback_interval = 5 * 100; /* sentiseconds */
    +unsigned int dirty_writeback_interval = 5 * 100; /* centiseconds */

    /*
    * The longest time for which data is allowed to remain dirty
    */
    -unsigned int dirty_expire_interval = 30 * 100; /* sentiseconds */
    +unsigned int dirty_expire_interval = 30 * 100; /* centiseconds */

    /*
    * Flag that makes the machine dump writes/reads and block dirtyings.
    @@ -770,7 +770,7 @@ static void wb_kupdate(unsigned long arg

    sync_supers();

    - oldest_jif = jiffies - msecs_to_jiffies(dirty_expire_interval);
    + oldest_jif = jiffies - msecs_to_jiffies(dirty_expire_interval * 10);
    start_jif = jiffies;
    next_jif = start_jif + msecs_to_jiffies(dirty_writeback_interval * 10);
    nr_to_write = global_page_state(NR_FILE_DIRTY) +

    \
     
     \ /
      Last update: 2009-05-15 06:41    [W:0.021 / U:31.940 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site