2017-11-27 16:29 GMT+08:00 Yafang Shao <laoar.shao@xxxxxxxxx>: > 2017-11-27 16:21 GMT+08:00 Michal Hocko <mhocko@xxxxxxxx>: >> On Mon 27-11-17 16:06:50, Yafang Shao wrote: >>> +cc fcicq >> [...] >>> diff --git a/mm/page-writeback.c b/mm/page-writeback.c >>> index 8a15511..6c5c018 100644 >>> --- a/mm/page-writeback.c >>> +++ b/mm/page-writeback.c >>> @@ -377,7 +377,16 @@ static unsigned long global_dirtyable_memory(void) >>> if (!vm_highmem_is_dirtyable) >>> x -= highmem_dirtyable_memory(x); >>> >>> - return x + 1; /* Ensure that we never return 0 */ >>> + /* >>> + * - Why 100 ? >>> + * - Because the return value will be used by dirty ratio and >>> + * dirty background ratio to calculate dirty thresh and bg thresh, >>> + * so if the return value is two small, the thresh value maybe >>> + * calculated to 0. >>> + * As the max value of ratio is 100, so the return value is added >>> + * by 100 here. >>> + */ >>> + return x + 100; >> >> No. We should just revert 0f6d24f87856 ("mm/page-writeback.c: print a >> warning if the vm dirtiness settings are illogical") because it is of a >> dubious value and it causes problems. I am not even sure why it got >> merged. It doesn't have any ack or review and I remember objecting to >> the patch previously as pointless. >> -- > > It is reviewed and merged by Andrew. > > From Andrew: >> I think this means that a script which alters both dirty_bytes and > dirty_background_bytes must alter dirty_background_bytes first if they > are being decreased and must alter dirty_bytes first if they are being > increased. Or something like that. > > It will help us to find the error if we don't change these values like this. > And actually it help us find another issue that when availble_memroy is too small, the thresh and bg_thresh will be 0, that's absolutely wrong. Thanks Yafang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>