[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160504085307.GD29978@dhcp22.suse.cz>
Date: Wed, 4 May 2016 10:53:07 +0200
From: Michal Hocko <mhocko@...nel.org>
To: Joonsoo Kim <iamjoonsoo.kim@....com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Johannes Weiner <hannes@...xchg.org>,
Mel Gorman <mgorman@...e.de>,
David Rientjes <rientjes@...gle.com>,
Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>,
Hillf Danton <hillf.zj@...baba-inc.com>,
Vlastimil Babka <vbabka@...e.cz>, linux-mm@...ck.org,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 12/14] mm, oom: protect !costly allocations some more
On Wed 04-05-16 15:01:24, Joonsoo Kim wrote:
> On Wed, Apr 20, 2016 at 03:47:25PM -0400, Michal Hocko wrote:
[...]
Please try to trim your responses it makes it much easier to follow the
discussion
> > +static inline bool
> > +should_compact_retry(unsigned int order, enum compact_result compact_result,
> > + enum migrate_mode *migrate_mode,
> > + int compaction_retries)
> > +{
> > + if (!order)
> > + return false;
> > +
> > + /*
> > + * compaction considers all the zone as desperately out of memory
> > + * so it doesn't really make much sense to retry except when the
> > + * failure could be caused by weak migration mode.
> > + */
> > + if (compaction_failed(compact_result)) {
>
> IIUC, this compaction_failed() means that at least one zone is
> compacted and failed. This is not same with your assumption in the
> comment. If compaction is done and failed on ZONE_DMA, it would be
> premature decision.
Not really, because if other zones are making some progress then their
result will override COMPACT_COMPLETE
[...]
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists