mm: add DEVICE_ZONE to FOR_ALL_ZONES
Subsystems (2)
PATCH v2 1/1 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.
Signed-off-by Hao Lee <[email protected]>
--- include/linux/vm_event_item.h | 15 +++++++++++---- mm/vmstat.c | 9 ++++++++- 2 files changed, 19 insertions(+), 5 deletions(-)
include/linux/vm_event_item.h +11 -4
@@ -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 ,
mm/vmstat.c +8 -1
@@ -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 */
Signature · 1 line
2.18.2