lkml.org 
[lkml]   [2009]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: regression in page writeback
    On Wed, Sep 23, 2009 at 05:23:31PM +0800, Peter Zijlstra wrote:
    > On Wed, 2009-09-23 at 10:19 +0100, Richard Kennedy wrote:
    > >
    > > I am concerned that the background writeout no longer stops when it
    > > reaches the background threshold, as balance_dirty_pages requests all
    > > dirty pages to be written. No doubt this is good for large linear writes
    > > but what about more random write workloads?
    >
    > I've not had time to look over the current code, but write-out not
    > stopping on reaching background threshold is a definite bug and needs to
    > get fixed.

    Yes, 2.6.31 code stops writeback when background threshold is reached.
    But new behavior in latest git is to writeback all pages.

    The code only checks over_bground_thresh() for kupdate works:

    if (args->for_kupdate && args->nr_pages <= 0 &&
    !over_bground_thresh())
    break;

    However the background work started by balance_dirty_pages() won't check
    over_bground_thresh(). So it will move all dirty pages.

    I think it's very weird to check over_bground_thresh() for kupdate
    instead of background work. Jens must intended for the latter case.

    Thanks,
    Fengguang


    \
     
     \ /
      Last update: 2009-09-23 11:41    [W:4.336 / U:0.412 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site