Re: [PATCH 10/13] writeback: make reasonable gap between the dirty/background thresholds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> ---
>  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.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux