Mel Gorman
2022-Jan-24 16:43 UTC
[PATCH v4 1/7] mm: page_alloc: avoid merging non-fallbackable pageblocks with others.
On Mon, Jan 24, 2022 at 11:12:07AM -0500, Zi Yan wrote:> On 24 Jan 2022, at 9:02, Mel Gorman wrote: > > > On Wed, Jan 19, 2022 at 02:06:17PM -0500, Zi Yan wrote: > >> From: Zi Yan <ziy at nvidia.com> > >> > >> This is done in addition to MIGRATE_ISOLATE pageblock merge avoidance. > >> It prepares for the upcoming removal of the MAX_ORDER-1 alignment > >> requirement for CMA and alloc_contig_range(). > >> > >> MIGRARTE_HIGHATOMIC should not merge with other migratetypes like > >> MIGRATE_ISOLATE and MIGRARTE_CMA[1], so this commit prevents that too. > >> Also add MIGRARTE_HIGHATOMIC to fallbacks array for completeness. > >> > >> [1] https://lore.kernel.org/linux-mm/20211130100853.GP3366 at techsingularity.net/ > >> > >> Signed-off-by: Zi Yan <ziy at nvidia.com> > >> > >> <SNIP> > >> > >> @@ -2484,6 +2483,7 @@ static int fallbacks[MIGRATE_TYPES][3] = { > >> [MIGRATE_UNMOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_MOVABLE, MIGRATE_TYPES }, > >> [MIGRATE_MOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_UNMOVABLE, MIGRATE_TYPES }, > >> [MIGRATE_RECLAIMABLE] = { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE, MIGRATE_TYPES }, > >> + [MIGRATE_HIGHATOMIC] = { MIGRATE_TYPES }, /* Never used */ > >> #ifdef CONFIG_CMA > >> [MIGRATE_CMA] = { MIGRATE_TYPES }, /* Never used */ > >> #endif > > > > If it's never used, why is it added? > > Just to make the fallbacks list complete, since MIGRATE_CMA and > MIGRATE_ISOLATE are in the list. Instead, I can remove MIGRATE_CMA and > MIGRATE_ISOLATE. WDYT? >It probably makes more sense to remove them or replace them with a comment stating what migratetypes do not have a fallback list. Do it as a separate patch that stands alone. It does not need to be part of this series. -- Mel Gorman SUSE Labs