Thread (27 messages) 27 messages, 7 authors, 2022-02-23

Re: [PATCH v4 1/1] mm: vmscan: Reduce throttling due to a failure to make progress

From: Shakeel Butt <hidden>
Date: 2021-12-07 07:15:15
Also in: linux-fsdevel, lkml, regressions

On Mon, Dec 6, 2021 at 3:25 AM Mel Gorman [off-list ref] wrote:
On Sun, Dec 05, 2021 at 10:06:27PM -0800, Shakeel Butt wrote:
quoted
On Fri, Dec 3, 2021 at 11:08 AM Mel Gorman [off-list ref] wrote:
quoted
[...]
quoted
quoted
I am in agreement with the motivation of the whole series. I am just
making sure that the motivation of VMSCAN_THROTTLE_NOPROGRESS based
throttle is more than just the congestion_wait of
mem_cgroup_force_empty_write.
The commit that primarily targets congestion_wait is 8cd7c588decf
("mm/vmscan: throttle reclaim until some writeback completes if
congested"). The series recognises that there are other reasons why
reclaim can fail to make progress that is not directly writeback related.
I agree with throttling for VMSCAN_THROTTLE_[WRITEBACK|ISOLATED]
reasons. Please explain why we should throttle for
VMSCAN_THROTTLE_NOPROGRESS? Also 69392a403f49 claims "Direct reclaim
primarily is throttled in the page allocator if it is failing to make
progress.", can you please explain how?
It could happen if the pages on the LRU are being reactivated continually
or holding an elevated reference count for some reason (e.g. gup,
page migration etc). The event is probably transient, hence the short
throttling.
What's the worst that can happen if the kernel doesn't throttle at all
for these transient scenarios? Premature oom-kills? The kernel already
has some protection against such situations with retries i.e.
consecutive 16 unsuccessful reclaim tries have to fail to give up the
reclaim.

Anyways, I have shared my view which is 'no need to throttle at all
for no-progress reclaims for now and course correct if there are
complaints in future' but will not block the patch.

thanks,
Shakeel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help