2020년 3월 18일 (수) 오후 12:33, <js1304@xxxxxxxxx>님이 작성: > > From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > > classzone_idx is just different name for high_zoneidx now. > So, integrate them and add some comment to struct alloc_context > in order to reduce future confusion about the meaning of this variable. > > In addition to integration, this patch also renames high_zoneidx > to highest_zoneidx since it represents more precise meaning. > > Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > --- > include/linux/compaction.h | 9 ++-- > include/linux/mmzone.h | 12 ++--- > include/trace/events/compaction.h | 22 ++++---- > include/trace/events/vmscan.h | 14 +++-- > mm/compaction.c | 64 +++++++++++------------ > mm/internal.h | 10 ++-- > mm/memory_hotplug.c | 6 +-- > mm/oom_kill.c | 4 +- > mm/page_alloc.c | 60 +++++++++++----------- > mm/slab.c | 4 +- > mm/slub.c | 4 +- > mm/vmscan.c | 105 ++++++++++++++++++++------------------ > 12 files changed, 165 insertions(+), 149 deletions(-) Oops... I miss the important part that documents highest_zoneidx. Please see below. Thanks. ------------------>8------------------ diff --git a/mm/internal.h b/mm/internal.h index 7921150..4bbd10fc 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -115,6 +115,17 @@ struct alloc_context { nodemask_t *nodemask; struct zoneref *preferred_zoneref; int migratetype; + + /* + * highest_zoneidx represents highest usable zone index of + * the allocation request. Due to the nature of the zone, + * memory on lower zone than the highest_zoneidx will be + * protected by lowmem_reserve[highest_zoneidx]. + * + * highest_zoneidx is also used by reclaim/compaction to limit + * the target zone since higher zone than this index cannot be + * usable for this allocation request. + */ enum zone_type highest_zoneidx; bool spread_dirty_pages; };