Re: [PATCH] mm: print a warning once the vm dirtiness settings is illogical

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

 



2017-11-27 16:37 GMT+08:00 Michal Hocko <mhocko@xxxxxxxx>:
> On Mon 27-11-17 16:32:42, Yafang Shao wrote:
>> 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.
>
> Why is it wrong?
> --

For example, the writeback threads will be wakeup on every write.
I don't think it is meaningful to wakeup the writeback thread when the
dirty pages is very low.


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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux