WSL2-Linux-Kernel/drivers
Mel Gorman f19298b951 mm/vmstat: convert NUMA statistics to basic NUMA counters
NUMA statistics are maintained on the zone level for hits, misses, foreign
etc but nothing relies on them being perfectly accurate for functional
correctness.  The counters are used by userspace to get a general overview
of a workloads NUMA behaviour but the page allocator incurs a high cost to
maintain perfect accuracy similar to what is required for a vmstat like
NR_FREE_PAGES.  There even is a sysctl vm.numa_stat to allow userspace to
turn off the collection of NUMA statistics like NUMA_HIT.

This patch converts NUMA_HIT and friends to be NUMA events with similar
accuracy to VM events.  There is a possibility that slight errors will be
introduced but the overall trend as seen by userspace will be similar.
The counters are no longer updated from vmstat_refresh context as it is
unnecessary overhead for counters that may never be read by userspace.
Note that counters could be maintained at the node level to save space but
it would have a user-visible impact due to /proc/zoneinfo.

[lkp@intel.com: Fix misplaced closing brace for !CONFIG_NUMA]

Link: https://lkml.kernel.org/r/20210512095458.30632-4-mgorman@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jesper Dangaard Brouer <brouer@redhat.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-06-29 10:53:54 -07:00
..
accessibility
acpi Merge branch 'acpi-bus' 2021-06-11 17:57:24 +02:00
amba
android
ata
atm
auxdisplay
base mm/vmstat: convert NUMA statistics to basic NUMA counters 2021-06-29 10:53:54 -07:00
bcma
block loop: charge i/o to mem and blk cg 2021-06-29 10:53:50 -07:00
bluetooth Networking fixes for 5.13-rc5, including fixes from bpf, wireless, 2021-06-04 18:25:39 -07:00
bus Char/Misc driver fixes for 5.13-rc6 2021-06-12 12:13:55 -07:00
cdrom
char Char/misc driver fixes for 5.13-rc3 2021-05-20 06:31:52 -10:00
clk
clocksource
comedi
connector
counter
cpufreq Revert "cpufreq: CPPC: Add support for frequency invariance" 2021-06-14 15:55:02 +02:00
cpuidle
crypto
cxl
dax fs: remove noop_set_page_dirty() 2021-06-29 10:53:48 -07:00
dca
devfreq
dio
dma dmaengine fixes for v5.13 2021-06-16 09:03:52 -07:00
dma-buf dma-buf: fix unintended pin/unpin warnings 2021-05-20 14:02:27 +02:00
edac
eisa
extcon
firewire
firmware EFI fixes for v5.13-rc 2021-05-23 11:39:02 +02:00
fpga
fsi
gnss
gpio gpio: AMD8111 and TQMX86 require HAS_IOPORT_MAP 2021-06-25 12:13:53 +02:00
gpu drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages() 2021-06-29 10:53:51 -07:00
greybus
hid HID: asus: Cleanup Asus T101HA keyboard-dock handling 2021-05-27 15:40:35 +02:00
hsi
hv
hwmon hwmon: (tps23861) correct shunt LSB values 2021-06-10 08:40:09 -07:00
hwspinlock
hwtracing
i2c i2c: robotfuzz-osif: fix control-request directions 2021-06-24 22:08:00 +02:00
i3c
ide
idle
iio iio: adc: ad7793: Add missing error code in ad7793_setup() 2021-05-22 08:32:36 +01:00
infiniband IB/mlx5: Fix initializing CQ fragments buffer 2021-06-10 08:59:34 -03:00
input
interconnect
iommu iommu/vt-d: Fix sysfs leak in alloc_iommu() 2021-05-27 16:07:08 +02:00
ipack
irqchip irqchip fixes for 5.13, take #2 2021-06-17 15:22:31 +02:00
isdn Networking fixes for 5.13-rc4, including fixes from bpf, netfilter, 2021-05-26 17:44:49 -10:00
leds
lightnvm
macintosh
mailbox
mcb
md block-5.13-2021-06-12 2021-06-12 11:59:58 -07:00
media media: videobuf2: use vma_lookup() in get_vaddr_frames() 2021-06-29 10:53:51 -07:00
memory
memstick
message
mfd
misc misc/sgi-gru/grufault: use vma_lookup() in gru_find_vma() 2021-06-29 10:53:51 -07:00
mmc mmc: meson-gx: use memcpy_to/fromio for dram-access-quirk 2021-06-14 14:02:33 +02:00
most
mtd
mux
net Networking fixes for 5.13-rc7, including fixes from wireless, bpf, 2021-06-18 18:55:29 -07:00
nfc NFC: nfcmrvl: fix kernel-doc syntax in file headers 2021-05-23 17:26:38 -07:00
ntb
nubus
nvdimm
nvme nvmet: fix freeing unallocated p2pmem 2021-06-02 10:10:38 +03:00
nvmem
of
opp
parisc
parport
pci Revert "PCI: PM: Do not read power state in pci_enable_device_flags()" 2021-06-22 17:35:18 +02:00
pcmcia
perf
phy phy: Sparx5 Eth SerDes: check return value after calling platform_get_resource() 2021-06-03 11:18:19 +05:30
pinctrl pinctrl: stm32: fix the reported number of GPIO lines per bank 2021-06-18 14:56:54 +02:00
platform platform/mellanox: mlxreg-hotplug: Revert "move to use request_irq by IRQF_NO_AUTOEN flag" 2021-06-04 22:03:13 +02:00
pnp
power
powercap
pps
ps3
ptp ptp: improve max_adj check against unreasonable values 2021-06-15 10:59:46 -07:00
pwm
rapidio
ras
regulator regulator: Fixes for v5.14 2021-06-08 09:41:16 -07:00
remoteproc
reset
rpmsg
rtc
s390 s390/vfio-ap: clean up mdev resources when remove callback invoked 2021-06-21 11:19:18 +02:00
sbus
scsi SCSI fixes on 20210625 2021-06-25 15:59:14 -07:00
sh
siox
slimbus
soc soc: amlogic: meson-clk-measure: remove redundant dev_err call in meson_msr_probe() 2021-05-31 09:26:58 +02:00
soundwire
spi spi: spi-nxp-fspi: move the register operation after the clock enable 2021-06-14 15:02:01 +01:00
spmi
ssb
staging Networking fixes for 5.13-rc7, including fixes from wireless, bpf, 2021-06-18 18:55:29 -07:00
target scsi: target: core: Fix warning on realtime kernels 2021-05-31 22:59:13 -04:00
tc
tee OP-TEE use export_uuid() to copy UUID 2021-06-05 15:43:11 -07:00
thermal - Fix out-of-spec hardware (1st gen Hygon) which does not implement 2021-06-06 12:25:43 -07:00
thunderbolt thunderbolt: usb4: Fix NVM read buffer bounds and offset issue 2021-05-20 11:52:58 +03:00
tty serial: 8250_exar: Avoid NULL pointer dereference at ->exit() 2021-06-09 14:40:48 +02:00
uio
usb usb: core: hub: Disable autosuspend for Cypress CY7C65632 2021-06-17 15:34:21 +02:00
vdpa {net,vdpa}/mlx5: Configure interface MAC into mpfs L2 table 2021-05-18 23:01:48 -07:00
vfio vfio: use vma_lookup() instead of find_vma_intersection() 2021-06-29 10:53:51 -07:00
vhost
video Revert "fb_defio: Remove custom address_space_operations" 2021-06-01 17:38:40 +02:00
virt
virtio virtio_balloon: specify page reporting order if needed 2021-06-29 10:53:47 -07:00
visorbus
vlynq
vme
w1
watchdog
xen xen/events: reset active flag for lateeoi events later 2021-06-24 12:52:36 +02:00
zorro
Kconfig
Makefile