mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
migrate: optimise alloc_migration_target()
Extract the zone number directly from the folio instead of using the folio's zone number to look up the zone and asking the zone what its number is. [ziy@nvidia.com: fix folio_zonenum() return type] Link: https://lkml.kernel.org/r/26E8FF35-503E-4F14-98F7-7B4FA25FBD37@nvidia.com Link: https://lkml.kernel.org/r/20251106201452.2292631-2-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Zi Yan <ziy@nvidia.com> Cc: David Hildenbrand <david@kernel.org> Cc: Zi Yan <ziy@nvidia.com> Cc: Matthew Brost <matthew.brost@intel.com> Cc: Joshua Hahn <joshua.hahnjy@gmail.com> Cc: Rakie Kim <rakie.kim@sk.com> Cc: Byungchul Park <byungchul@sk.com> Cc: Gregory Price <gourry@gourry.net> Cc: Ying Huang <ying.huang@linux.alibaba.com> Cc: Alistair Popple <apopple@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
e24f66e87b
commit
c537f0dd30
@@ -2164,7 +2164,7 @@ struct folio *alloc_migration_target(struct folio *src, unsigned long private)
|
||||
gfp_t gfp_mask;
|
||||
unsigned int order = 0;
|
||||
int nid;
|
||||
int zidx;
|
||||
enum zone_type zidx;
|
||||
|
||||
mtc = (struct migration_target_control *)private;
|
||||
gfp_mask = mtc->gfp_mask;
|
||||
@@ -2190,7 +2190,7 @@ struct folio *alloc_migration_target(struct folio *src, unsigned long private)
|
||||
gfp_mask |= GFP_TRANSHUGE;
|
||||
order = folio_order(src);
|
||||
}
|
||||
zidx = zone_idx(folio_zone(src));
|
||||
zidx = folio_zonenum(src);
|
||||
if (is_highmem_idx(zidx) || zidx == ZONE_MOVABLE)
|
||||
gfp_mask |= __GFP_HIGHMEM;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user