From: Michal Hocko <mhocko@suse.cz>
To: David Rientjes <rientjes@google.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
Johannes Weiner <hannes@cmpxchg.org>,
Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
Hillf Danton <hillf.zj@alibaba-inc.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [RFC 1/3] mm, oom: refactor oom detection
Date: Mon, 23 Nov 2015 10:41:06 +0100 [thread overview]
Message-ID: <20151123094106.GD21050@dhcp22.suse.cz> (raw)
In-Reply-To: <alpine.DEB.2.10.1511201523520.10092@chino.kir.corp.google.com>
On Fri 20-11-15 15:27:39, David Rientjes wrote:
> On Fri, 20 Nov 2015, Michal Hocko wrote:
>
> > > > + unsigned long reclaimable;
> > > > + unsigned long target;
> > > > +
> > > > + reclaimable = zone_reclaimable_pages(zone) +
> > > > + zone_page_state(zone, NR_ISOLATED_FILE) +
> > > > + zone_page_state(zone, NR_ISOLATED_ANON);
> > >
> > > Does NR_ISOLATED_ANON mean anything relevant here in swapless
> > > environments?
> >
> > It should be 0 so I didn't bother to check for swapless configuration.
> >
>
> I'm not sure I understand your point, memory compaction certainly
> increments NR_ISOLATED_ANON and that would be considered unreclaimable in
> a swapless environment, correct?
My bad. I have completely missed that compaction/migration is updating
the counter as well. I would expect that the number shouldn't too large
to matter but I guess it will be better to simply exclude it. I will
fold this to the first patch.
Thanks
---
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 54476e71b572..7d885d7fae86 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3197,8 +3197,10 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
unsigned long target;
reclaimable = zone_reclaimable_pages(zone) +
- zone_page_state(zone, NR_ISOLATED_FILE) +
- zone_page_state(zone, NR_ISOLATED_ANON);
+ zone_page_state(zone, NR_ISOLATED_FILE);
+ if (get_nr_swap_pages() > 0)
+ reclaimable += zone_page_state(zone, NR_ISOLATED_ANON);
+
target = reclaimable;
target -= DIV_ROUND_UP(stall_backoff * target, MAX_STALL_BACKOFF);
target += free;
--
Michal Hocko
SUSE Labs
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2015-11-23 9:41 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-18 13:03 [RFC 0/3] OOM detection rework v2 Michal Hocko
2015-11-18 13:03 ` [RFC 1/3] mm, oom: refactor oom detection Michal Hocko
2015-11-19 23:01 ` David Rientjes
2015-11-20 9:06 ` Michal Hocko
2015-11-20 23:27 ` David Rientjes
2015-11-23 9:41 ` Michal Hocko [this message]
2015-11-23 18:24 ` Johannes Weiner
2015-11-24 10:03 ` Michal Hocko
2015-11-18 13:03 ` [RFC 2/3] mm: throttle on IO only when there are too many dirty and writeback pages Michal Hocko
2015-11-19 23:12 ` David Rientjes
2015-11-20 9:15 ` Michal Hocko
2015-11-18 13:04 ` [RFC 3/3] mm: use watermak checks for __GFP_REPEAT high order allocations Michal Hocko
2015-11-19 23:17 ` David Rientjes
2015-11-20 9:18 ` Michal Hocko
2015-11-20 23:33 ` David Rientjes
2015-11-23 9:46 ` Michal Hocko
2015-11-18 16:21 ` [RFC 0/3] OOM detection rework v2 Linus Torvalds
-- strict thread matches above, loose matches on Subject: below --
2015-12-01 12:56 [RFC 0/3] OOM detection rework v3 Michal Hocko
2015-12-01 12:56 ` [RFC 1/3] mm, oom: refactor oom detection Michal Hocko
2015-12-11 16:16 ` Johannes Weiner
2015-12-14 18:34 ` Michal Hocko
2015-10-29 15:17 RFC: OOM detection rework v1 mhocko
2015-10-29 15:17 ` [RFC 1/3] mm, oom: refactor oom detection mhocko
2015-10-30 4:10 ` Hillf Danton
2015-10-30 8:36 ` Michal Hocko
2015-10-30 10:14 ` Michal Hocko
2015-10-30 13:32 ` Tetsuo Handa
2015-10-30 14:55 ` Michal Hocko
2015-10-31 3:57 ` Hillf Danton
2015-10-30 5:23 ` Kamezawa Hiroyuki
2015-10-30 8:23 ` Michal Hocko
2015-10-30 9:41 ` Kamezawa Hiroyuki
2015-10-30 10:18 ` Michal Hocko
2015-11-12 12:39 ` Michal Hocko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151123094106.GD21050@dhcp22.suse.cz \
--to=mhocko@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=hillf.zj@alibaba-inc.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=rientjes@google.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox