On 7/26/2024 9:46 AM, Garg, Shivank wrote: > > > On 7/26/2024 1:17 AM, Andrew Morton wrote: >> On Thu, 25 Jul 2024 16:26:26 +0530 Shivank Garg <shivankg@xxxxxxx> wrote: >> >>> The per-node stats in /proc/zoneinfo output are incorrectly inserted >>> between the first populated zone title and its specific stats. This >>> creates confusion while reading or parsing its output. >> >> I pity anyone who has to write a parser for that mess. > > Some userspace parser have faced an issue like this: > https://github.com/prometheus/procfs/issues/386 > In the fix commit, they are ignoring per-node stats section. > >> >>> This patch relocates the per-node stats at the beginning for each node, >>> followed by the individual zone statistics. This fix results in a clearer >>> and more consistent output format. >> >>> Fixes: e2ecc8a79ed4 ("mm, vmstat: print node-based stats in zoneinfo file") >> >> It's been this way since 2016? Surely there's a risk of breaking >> existing userspace parsers? > > For some of the per-node stats, some application may probe the > /sys/devices/system/node/node*/meminfo (in KB) As per this commit, https://github.com/torvalds/linux/commit/e2ecc8a79ed49f7838b4fdf352c4c48cec9424ac "There are a number of stats that were previously accessible via zoneinfo that are now invisible. While it is possible to create a new file for the node stats, this may be missed by users. Instead this patch prints the stats under the first populated zone in /proc/zoneinfo." per node stats were added to zoneinfo since some stats were missing. However I find that all stats are in fact present in /sys/devices/system/node/node*/vmstat hence I wonder why should we continue to have per-node stats in zoneinfo. > > There may be a possibility of breaking scripts, but it will make the > output more consistent for future scripts. > > Thanks, > Shivank > >