Re: [patch -mm 3/3] mm, compaction: avoid compacting memory for thp if pageblock cannot become free

Mel Gorman
2014-06-04T11:04:18Z

On Tue, Jun 03, 2014 at 05:30:01PM -0700, David Rientjes wrote:
> It's pointless to migrate pages within a pageblock if the entire pageblock will
> not become free for a thp allocation.
>
> If we encounter a page that cannot be migrated and a direct compactor other than
> khugepaged is trying to allocate a hugepage for thp, then skip the entire
> pageblock and avoid migrating pages needlessly.
>

It's not completely pointless. A movable page may be placed within an
unmovable pageblock due to insufficient free memory or a pageblock changed
type. When this happens then partial migration moves the movable page
of out of the unmovable block. Future unmovable allocations can then be
placed with other unmovable pages instead of falling back to other blocks
and degrading fragmentation over time.

--
Mel Gorman
SUSE Labs