[lkml]   [2010]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 2/3] writeback: Record if the congestion was unnecessary
    On Thu, Aug 26, 2010 at 04:14:15PM +0100, Mel Gorman wrote:
    > If congestion_wait() is called when there is no congestion, the caller
    > will wait for the full timeout. This can cause unreasonable and
    > unnecessary stalls. There are a number of potential modifications that
    > could be made to wake sleepers but this patch measures how serious the
    > problem is. It keeps count of how many congested BDIs there are. If
    > congestion_wait() is called with no BDIs congested, the tracepoint will
    > record that the wait was unnecessary.

    I am not convinced that unnecessary is the right word. On a workload
    without any IO (i.e. no congestion_wait() necessary, ever), I noticed
    the VM regressing both in time and in reclaiming the right pages when
    simply removing congestion_wait() from the direct reclaim paths (the
    one in __alloc_pages_slowpath and the other one in

    So just being stupid and waiting for the timeout in direct reclaim
    while kswapd can make progress seemed to do a better job for that

    I can not exactly pinpoint the reason for that behaviour, it would be
    nice if somebody had an idea.

    So personally I think it's a good idea to get an insight on the use of
    congestion_wait() [patch 1] but I don't agree with changing its
    behaviour just yet, or judging its usefulness solely on whether it
    correctly waits for bdi congestion.

     \ /
      Last update: 2010-08-26 20:31    [W:0.020 / U:48.880 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site