mm: add DEVICE_ZONE to FOR_ALL_ZONES
FOR_ALL_ZONES should be consistent with enum zone_type. Otherwise, __count_zid_vm_events have the potential to add count to wrong item when zid is ZONE_DEVICE. Link: https://lkml.kernel.org/r/20220807154442.GA18167@haolee.io Signed-off-by: Hao Lee <haolee.swjtu@gmail.com> Cc: David Hildenbrand <david@redhat.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
a8faed3a02
commit
a39c5d3ce0
@ -20,12 +20,19 @@
|
||||
#define HIGHMEM_ZONE(xx)
|
||||
#endif
|
||||
|
||||
#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, HIGHMEM_ZONE(xx) xx##_MOVABLE
|
||||
#ifdef CONFIG_ZONE_DEVICE
|
||||
#define DEVICE_ZONE(xx) xx##_DEVICE,
|
||||
#else
|
||||
#define DEVICE_ZONE(xx)
|
||||
#endif
|
||||
|
||||
#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, \
|
||||
HIGHMEM_ZONE(xx) xx##_MOVABLE, DEVICE_ZONE(xx)
|
||||
|
||||
enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
|
||||
FOR_ALL_ZONES(PGALLOC),
|
||||
FOR_ALL_ZONES(ALLOCSTALL),
|
||||
FOR_ALL_ZONES(PGSCAN_SKIP),
|
||||
FOR_ALL_ZONES(PGALLOC)
|
||||
FOR_ALL_ZONES(ALLOCSTALL)
|
||||
FOR_ALL_ZONES(PGSCAN_SKIP)
|
||||
PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE,
|
||||
PGFAULT, PGMAJFAULT,
|
||||
PGLAZYFREED,
|
||||
|
@ -1168,8 +1168,15 @@ int fragmentation_index(struct zone *zone, unsigned int order)
|
||||
#define TEXT_FOR_HIGHMEM(xx)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ZONE_DEVICE
|
||||
#define TEXT_FOR_DEVICE(xx) xx "_device",
|
||||
#else
|
||||
#define TEXT_FOR_DEVICE(xx)
|
||||
#endif
|
||||
|
||||
#define TEXTS_FOR_ZONES(xx) TEXT_FOR_DMA(xx) TEXT_FOR_DMA32(xx) xx "_normal", \
|
||||
TEXT_FOR_HIGHMEM(xx) xx "_movable",
|
||||
TEXT_FOR_HIGHMEM(xx) xx "_movable", \
|
||||
TEXT_FOR_DEVICE(xx)
|
||||
|
||||
const char * const vmstat_text[] = {
|
||||
/* enum zone_stat_item counters */
|
||||
|
Loading…
Reference in New Issue
Block a user