library: <vmstat> api, updated for current linux state

Since last visited, there have been several new fields
added to the /proc/vmstat file. Now, we are caught up.

[ references shown below represent linux git commits ]

Reference(s):
. 6/2020, added 'pgscan_...' & 'pgsteal_...'
commit 497a6c1b09902b22ceccc0f25ba4dd623e1ddb7d
. 4/2020, added 'nr_shadow_call_stack'
commit 628d06a48f57c36abdc2a024930212e654a501b7
. 4/2020, added 'thp_...fallback_charge'
commit 85b9f46e8ea451633ccd60a7d8cacbfff9f34047
. 4/2020, added 'thp_file_fallback'
commit dcdf11ee144133328664d90836e712d840d047d9
. 4/2020, added 'nr_foll_pin_...'
commit 1970dc6f5226416957ad0cc70ab47386ed3195a6
. 9/2019, added 'nr_file_...'
commit 60fbf0ab5da1c360e02b7f7d882bf1c0d8f7e32a

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner
2020-08-07 00:00:00 -05:00
committed by Craig Small
parent a9ea77e11c
commit 9363bcca8f
2 changed files with 102 additions and 0 deletions

View File

@@ -66,7 +66,11 @@ enum vmstat_item {
VMSTAT_NR_DIRTY, // ul_int "
VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD, // ul_int "
VMSTAT_NR_DIRTY_THRESHOLD, // ul_int "
VMSTAT_NR_FILE_HUGEPAGES, // ul_int "
VMSTAT_NR_FILE_PAGES, // ul_int "
VMSTAT_NR_FILE_PMDMAPPED, // ul_int "
VMSTAT_NR_FOLL_PIN_ACQUIRED, // ul_int "
VMSTAT_NR_FOLL_PIN_RELEASED, // ul_int "
VMSTAT_NR_FREE_CMA, // ul_int "
VMSTAT_NR_FREE_PAGES, // ul_int "
VMSTAT_NR_INACTIVE_ANON, // ul_int "
@@ -78,6 +82,7 @@ enum vmstat_item {
VMSTAT_NR_MAPPED, // ul_int "
VMSTAT_NR_MLOCK, // ul_int "
VMSTAT_NR_PAGE_TABLE_PAGES, // ul_int "
VMSTAT_NR_SHADOW_CALL_STACK, // ul_int "
VMSTAT_NR_SHMEM, // ul_int "
VMSTAT_NR_SHMEM_HUGEPAGES, // ul_int "
VMSTAT_NR_SHMEM_PMDMAPPED, // ul_int "
@@ -129,15 +134,19 @@ enum vmstat_item {
VMSTAT_PGPGOUT, // ul_int "
VMSTAT_PGREFILL, // ul_int "
VMSTAT_PGROTATED, // ul_int "
VMSTAT_PGSCAN_ANON, // ul_int "
VMSTAT_PGSCAN_DIRECT, // ul_int "
VMSTAT_PGSCAN_DIRECT_THROTTLE, // ul_int "
VMSTAT_PGSCAN_FILE, // ul_int "
VMSTAT_PGSCAN_KSWAPD, // ul_int "
VMSTAT_PGSKIP_DMA, // ul_int "
VMSTAT_PGSKIP_DMA32, // ul_int "
VMSTAT_PGSKIP_HIGH, // ul_int "
VMSTAT_PGSKIP_MOVABLE, // ul_int "
VMSTAT_PGSKIP_NORMAL, // ul_int "
VMSTAT_PGSTEAL_ANON, // ul_int "
VMSTAT_PGSTEAL_DIRECT, // ul_int "
VMSTAT_PGSTEAL_FILE, // ul_int "
VMSTAT_PGSTEAL_KSWAPD, // ul_int "
VMSTAT_PSWPIN, // ul_int "
VMSTAT_PSWPOUT, // ul_int "
@@ -149,7 +158,10 @@ enum vmstat_item {
VMSTAT_THP_DEFERRED_SPLIT_PAGE, // ul_int "
VMSTAT_THP_FAULT_ALLOC, // ul_int "
VMSTAT_THP_FAULT_FALLBACK, // ul_int "
VMSTAT_THP_FAULT_FALLBACK_CHARGE, // ul_int "
VMSTAT_THP_FILE_ALLOC, // ul_int "
VMSTAT_THP_FILE_FALLBACK, // ul_int "
VMSTAT_THP_FILE_FALLBACK_CHARGE, // ul_int "
VMSTAT_THP_FILE_MAPPED, // ul_int "
VMSTAT_THP_SPLIT_PAGE, // ul_int "
VMSTAT_THP_SPLIT_PAGE_FAILED, // ul_int "
@@ -206,7 +218,11 @@ enum vmstat_item {
VMSTAT_DELTA_NR_DIRTY, // sl_int "
VMSTAT_DELTA_NR_DIRTY_BACKGROUND_THRESHOLD, // sl_int "
VMSTAT_DELTA_NR_DIRTY_THRESHOLD, // sl_int "
VMSTAT_DELTA_NR_FILE_HUGEPAGES, // sl_int "
VMSTAT_DELTA_NR_FILE_PAGES, // sl_int "
VMSTAT_DELTA_NR_FILE_PMDMAPPED, // sl_int "
VMSTAT_DELTA_NR_FOLL_PIN_ACQUIRED, // sl_int "
VMSTAT_DELTA_NR_FOLL_PIN_RELEASED, // sl_int "
VMSTAT_DELTA_NR_FREE_CMA, // sl_int "
VMSTAT_DELTA_NR_FREE_PAGES, // sl_int "
VMSTAT_DELTA_NR_INACTIVE_ANON, // sl_int "
@@ -218,6 +234,7 @@ enum vmstat_item {
VMSTAT_DELTA_NR_MAPPED, // sl_int "
VMSTAT_DELTA_NR_MLOCK, // sl_int "
VMSTAT_DELTA_NR_PAGE_TABLE_PAGES, // sl_int "
VMSTAT_DELTA_NR_SHADOW_CALL_STACK, // sl_int "
VMSTAT_DELTA_NR_SHMEM, // sl_int "
VMSTAT_DELTA_NR_SHMEM_HUGEPAGES, // sl_int "
VMSTAT_DELTA_NR_SHMEM_PMDMAPPED, // sl_int "
@@ -269,15 +286,19 @@ enum vmstat_item {
VMSTAT_DELTA_PGPGOUT, // sl_int "
VMSTAT_DELTA_PGREFILL, // sl_int "
VMSTAT_DELTA_PGROTATED, // sl_int "
VMSTAT_DELTA_PGSCAN_ANON, // sl_int "
VMSTAT_DELTA_PGSCAN_DIRECT, // sl_int "
VMSTAT_DELTA_PGSCAN_DIRECT_THROTTLE, // sl_int "
VMSTAT_DELTA_PGSCAN_FILE, // sl_int "
VMSTAT_DELTA_PGSCAN_KSWAPD, // sl_int "
VMSTAT_DELTA_PGSKIP_DMA, // sl_int "
VMSTAT_DELTA_PGSKIP_DMA32, // sl_int "
VMSTAT_DELTA_PGSKIP_HIGH, // sl_int "
VMSTAT_DELTA_PGSKIP_MOVABLE, // sl_int "
VMSTAT_DELTA_PGSKIP_NORMAL, // sl_int "
VMSTAT_DELTA_PGSTEAL_ANON, // sl_int "
VMSTAT_DELTA_PGSTEAL_DIRECT, // sl_int "
VMSTAT_DELTA_PGSTEAL_FILE, // sl_int "
VMSTAT_DELTA_PGSTEAL_KSWAPD, // sl_int "
VMSTAT_DELTA_PSWPIN, // sl_int "
VMSTAT_DELTA_PSWPOUT, // sl_int "
@@ -289,7 +310,10 @@ enum vmstat_item {
VMSTAT_DELTA_THP_DEFERRED_SPLIT_PAGE, // sl_int "
VMSTAT_DELTA_THP_FAULT_ALLOC, // sl_int "
VMSTAT_DELTA_THP_FAULT_FALLBACK, // sl_int "
VMSTAT_DELTA_THP_FAULT_FALLBACK_CHARGE, // sl_int "
VMSTAT_DELTA_THP_FILE_ALLOC, // sl_int "
VMSTAT_DELTA_THP_FILE_FALLBACK, // sl_int "
VMSTAT_DELTA_THP_FILE_FALLBACK_CHARGE, // sl_int "
VMSTAT_DELTA_THP_FILE_MAPPED, // sl_int "
VMSTAT_DELTA_THP_SPLIT_PAGE, // sl_int "
VMSTAT_DELTA_THP_SPLIT_PAGE_FAILED, // sl_int "