Re: [PATCH] Allow compaction of unevictable pages

From: David Rientjes
Date: Fri Mar 06 2015 - 16:07:13 EST


On Fri, 6 Mar 2015, Eric B Munson wrote:

> diff --git a/mm/compaction.c b/mm/compaction.c
> index 8c0d945..33c81e1 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -1056,7 +1056,7 @@ static isolate_migrate_t isolate_migratepages(struct zone *zone,
> {
> unsigned long low_pfn, end_pfn;
> struct page *page;
> - const isolate_mode_t isolate_mode =
> + const isolate_mode_t isolate_mode = ISOLATE_UNEVICTABLE |
> (cc->mode == MIGRATE_ASYNC ? ISOLATE_ASYNC_MIGRATE : 0);
>
> /*

I agree that memory compaction should be isolating and migrating
unevictable memory for better results, and we have been running with a
similar patch internally for about a year for the same purpose as you,
higher probability of allocating hugepages.

This would be better off removing the notion of ISOLATE_UNEVICTABLE
entirely, however, since CMA and now memory compaction would be using it,
so the check in __isolate_lru_page() is no longer necessary. Has the
added bonus of removing about 10 lines of soure code.
--
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/