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

Bug#695182: [PATCH] Negative (setpoint-dirty) in bdi_position_ratio()



On Thu 24-01-13 22:57:07, Wu Fengguang wrote:
> Hi Paul,
> 
> > (This patch does not solve the PAE OOM issue.)
> 
> You may try the below debug patch. The only way the writeback patches
> should trigger OOM, I think, is for the number of dirty/writeback
> pages going out of control.
> 
> Or more simple, you may show us the OOM dmesg which will contain the
> number of dirty pages. Or run this in a continuous loop during your
> tests, and see how the dirty numbers change before OOM:
  I think he found the culprit of the problem being min_free_kbytes was not
properly reflected in the dirty throttling. But the patch has been already
picked up by Andrew so I didn't forward it to you. Paul please correct me
if I'm wrong.

								Honza

> 
> while :
> do
>         grep -E '(Dirty|Writeback)' /proc/meminfo
>         sleep 1
> done
> 
> Thanks,
> Fengguang
> 
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 50f0824..cf1165a 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -1147,6 +1147,16 @@ pause:
>  		if (task_ratelimit)
>  			break;
>  
> +		if (nr_dirty > dirty_thresh + dirty_thresh / 2) {
> +			if (printk_ratelimit())
> +				printk(KERN_WARNING "nr_dirty=%lu dirty_thresh=%lu task_ratelimit=%lu dirty_ratelimit=%lu pos_ratio=%lu\n",
> +				       nr_dirty,
> +				       dirty_thresh,
> +				       task_ratelimit,
> +				       dirty_ratelimit,
> +				       pos_ratio);
> +		}
> +
>  		/*
>  		 * In the case of an unresponding NFS server and the NFS dirty
>  		 * pages exceeds dirty_thresh, give the other good bdi's a pipe
-- 
Jan Kara <jack@suse.cz>
SUSE Labs, CR


Reply to: