We sometimes find ourselves in situations where reclaim kicks in, yet there is free memory available on the system. One possible explanation is that a NUMA node under pressure has triggered the reclaim. This NUMA imbalance scenario could be made easier to diagnose if we had better visibility.
This series aims to provide that visibility by accounting for the cause and effect of the imbalance. First, the addition of new node stats allows for tracking of allocations done on a per-policy basis. If a node is under pressure, these stats can help reveal the cause of how it got there. Second, the stats associated with reclaim are changed from vm_event_item to node_stat_item. Having the pgsteal and pgscan counters tracked on a per-node basis reveals the effect of any pressure, and allows us to quickly narrow down the affected node(s). JP Kobryn (2): mm/mempolicy: track page allocations per mempolicy mm: move pgscan and pgsteal to node stats drivers/virtio/virtio_balloon.c | 8 ++++---- include/linux/mmzone.h | 21 +++++++++++++++++++ include/linux/vm_event_item.h | 12 ----------- mm/memcontrol.c | 36 ++++++++++++++++++--------------- mm/mempolicy.c | 30 +++++++++++++++++++++++++-- mm/vmscan.c | 32 +++++++++++------------------ mm/vmstat.c | 33 +++++++++++++++++++----------- 7 files changed, 106 insertions(+), 66 deletions(-) -- 2.47.3

