Thread (26 messages) 26 messages, 6 authors, 2017-07-06

Re: [PATCH] mm, vmscan: do not loop on too_many_isolated for ever

From: Rik van Riel <hidden>
Date: 2017-03-09 14:16:30
Also in: lkml

On Thu, 2017-03-09 at 10:12 +0100, Michal Hocko wrote:
On Wed 08-03-17 10:54:57, Rik van Riel wrote:
quoted
In fact, false OOM kills with that kind of workload is
how we ended up getting the "too many isolated" logic
in the first place.
Right, but the retry logic was considerably different than what we
have these days. should_reclaim_retry considers amount of reclaimable
memory. As I've said earlier if we see a report where the oom hits
prematurely with many NR_ISOLATED* we know how to fix that.
Would it be enough to simply reset no_progress_loops
in this check inside should_reclaim_retry, if we know
pageout IO is pending?

                        if (!did_some_progress) {
                                unsigned long write_pending;

                                write_pending =
zone_page_state_snapshot(zone,
                                                        NR_ZONE_WRITE_P
ENDING);

                                if (2 * write_pending > reclaimable) {
                                        congestion_wait(BLK_RW_ASYNC,
HZ/10);
                                        return true;
                                }
                        }

-- 
All rights reversed

Attachments

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