[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140925012611.GD17364@bbox>
Date: Thu, 25 Sep 2014 10:26:11 +0900
From: Minchan Kim <minchan@...nel.org>
To: Vlastimil Babka <vbabka@...e.cz>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Mel Gorman <mgorman@...e.de>,
David Rientjes <rientjes@...gle.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Rik van Riel <riel@...hat.com>
Subject: Re: [RFC] mm: show deferred_compaction state in page alloc fail
On Wed, Sep 24, 2014 at 05:22:32PM +0200, Vlastimil Babka wrote:
> On 08/26/2014 09:30 AM, Minchan Kim wrote:
> >Recently, I saw several reports that high order allocation failed
> >although there were many freeable pages but it's hard to reproduce
> >so asking them to reproduce the problem several time is really painful.
> >
> >A culprit I doubt is compaction deferring logic which prevent
> >compaction for a while so high order allocation could be fail.
>
> Could be that, but also the non-determinism of watermark checking,
> where compaction thinks allocation should succeed, but in the end it
> won't.
>
> >It would be more clear if we can see the stat which can show
> >current zone's compaction deferred state when allocatil fail.
> >
> >It's a RFC and never test it. I just get an idea with
> >handling another strange high order allocation fail.
> >Any comments are welcome.
>
> It's quite large patch. Maybe it could be much simpler if you did
> not print just true/false but:
>
> 1) true/false based on zone->compact_considered < defer_limit, ignoring
> zone->compact_order_failed
>
> 2) zone->compact_order_failed value itself
>
> Then you wouldn't need to pass the allocation order around like you do.
> The "allocation failed" message tells you the order which was
> attempted, and then it's easy for the user to compare with the
> reported
> zone->compact_order_failed and decide if the defer status actually
> applies or not.
Actually, I thought about it. The reason I avoid that approach
is I don't want to expose deferring logic internal but now that
I think about it, it was wrong conclusion because show_free_area
already have been exported lots of internal. IOW, without it,
there is not much to investigate the reason.
I will send it.
Thanks for the review, Vlastimil.
>
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@...ck.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@...ck.org"> email@...ck.org </a>
--
Kind regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists