lkml.org 
[lkml]   [2010]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 10/13] writeback: make reasonable gap between the dirty/background thresholds
    On Wed, Nov 24, 2010 at 07:18:18PM +0800, Peter Zijlstra wrote:
    > On Wed, 2010-11-17 at 12:27 +0800, Wu Fengguang wrote:
    > > plain text document attachment
    > > (writeback-fix-oversize-background-thresh.patch)
    > > The change is virtually a no-op for the majority users that use the
    > > default 10/20 background/dirty ratios. For others don't know why they
    > > are setting background ratio close enough to dirty ratio. Someone must
    > > set background ratio equal to dirty ratio, but no one seems to notice or
    > > complain that it's then silently halved under the hood..
    > >
    > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
    > > ---
    > > mm/page-writeback.c | 11 +++++++++--
    > > 1 file changed, 9 insertions(+), 2 deletions(-)
    > >
    > > --- linux-next.orig/mm/page-writeback.c 2010-11-15 13:12:50.000000000 +0800
    > > +++ linux-next/mm/page-writeback.c 2010-11-15 13:13:42.000000000 +0800
    > > @@ -403,8 +403,15 @@ void global_dirty_limits(unsigned long *
    > > else
    > > background = (dirty_background_ratio * available_memory) / 100;
    > >
    > > - if (background >= dirty)
    > > - background = dirty / 2;
    > > + /*
    > > + * Ensure at least 1/4 gap between background and dirty thresholds, so
    > > + * that when dirty throttling starts at (background + dirty)/2, it's at
    > > + * the entrance of bdi soft throttle threshold, so as to avoid being
    > > + * hard throttled.
    > > + */
    > > + if (background > dirty - dirty * 2 / BDI_SOFT_DIRTY_LIMIT)
    > > + background = dirty - dirty * 2 / BDI_SOFT_DIRTY_LIMIT;
    > > +
    > > tsk = current;
    > > if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
    > > background += background / 4;
    >
    >
    > Hrm,.. the alternative is to return -ERANGE or somesuch when people try
    > to write nonsensical values.
    >
    > I'm not sure what's best, guessing at what the user did mean to do or
    > forcing him to actually think.

    Yes, this may break user space either way.
    Doing it loudly does make more sense.

    Thanks,
    Fengguang


    \
     
     \ /
      Last update: 2010-11-24 13:51    [W:0.040 / U:0.012 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site