Re: [PATCH 1/3] mm/page_alloc: don't break highest order freepage if steal

From: Joonsoo Kim
Date: Mon Apr 27 2015 - 04:41:06 EST


On Mon, Apr 27, 2015 at 09:08:50AM +0100, Mel Gorman wrote:
> On Mon, Apr 27, 2015 at 04:23:39PM +0900, Joonsoo Kim wrote:
> > When we steal whole pageblock, we don't need to break highest order
> > freepage. Perhaps, there is small order freepage so we can use it.
> >
>
> The reason why the largest block is taken is to reduce the probability
> there will be another fallback event in the near future. Early on, there
> were a lot of tests conducted to measure the number of external fragmenting
> events and take steps to reduce them. Stealing the largest highest order
> freepage was one of those steps.

Hello, Mel.

Purpose of this patch is not "stop steal highest order freepage".
Currently, in case of that we steal all freepage including highest
order freepage in certain pageblock, we break highest order freepage and
return it even if we have low order freepage that we immediately steal.

For example,

Pageblock A has 5 freepage (4 * order 0, 1 * order 3) and
we try to steal all freepage on pageblock A.

Withouth this patch, we move all freepage to requested migratetype
buddy list and break order 3 freepage. Leftover is like as following.

(5 * order 0, 1 * order 1, 1* order 2)

With this patch, (3 * order 0, 1 * order 3) remains.

I think that this is better than before because we still have high order
page. Isn't it?

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/