library: add item origin (as comments) to header files
A lack of documentation seems to be the major obstacle to releasing this new library. So, in an effort to get the ball rolling again, this patch adds the origins of each item as a comment to six of the new header files. However, before reviewing how such changes may benefit that documentation objective, it seemed appropriate to first reflect on newlib's background & current status. ___________________________________________ BACKGROUND Discussions about and work on a new library began back in July 2012 but quickly died. After a lull of 2 years those discussions were resumed in August 2014 but soon died also (and no code survived the gitorious demise). With those early discussions, the recommended approach was to encapsulate all of the libprocps data offerings in individual functions. When it came to extensibility it was suggested we should rely on symbols versioning. Unfortunately that approach would have made for a huge Application Programming Interface virtually impossible to master or even document. And, runtime call overhead would have been substantial for ps and especially top. So, an alternative design was sought but there were no new suggestions/contributions via freelists or gitlab. Thus, in spite of a lack of library design experience, the procps-ng team (Craig & Jim) set out to develop an alternative API, more concise and with lower overhead. Reference(s): . 07/01/2012, begin library design discussion https://www.freelists.org/post/procps/Old-library-calls . 08/12/2014, revival of library design discussion https://www.freelists.org/post/procps/libprocs-redesign _____________________________________ DESIGN EVOLUTION Our newlib branch first appeared on June 14, 2015. And our current API actually represents the 4th generation during the past 3 years of evolution. First, there was a basic 'new', 'get' and 'unref' approach, using enums to minimize the proliferation of 'get' function calls. Then, in anticipation of other programs like ps, where multiple fields times multiple processes would greatly increase the number of 'get' function calls, a concept of 'chains' was introduced. This became generation #2. Such 'chains' proved unnecessarily complex so 'stacks' replaced them. This was considered the 3rd generation, but too many implementation details were still exposed requiring those users to 'alloc', 'read', 'fill', etc. Finally, a 4th generation emerged representing several refinements to standardize and minimize those exported functions, thus hiding all implementation details from the users. Lastly, handling of 'errno' was normalized. Reference(s): . 06/14/2015, revival of new API discussion https://www.freelists.org/post/procps/The-library-API-again . 06/24/2015, birth of the newlib branch https://www.freelists.org/post/procps/new-library . 06/29/2015, 2nd generation introduced 'chains' https://www.freelists.org/post/procps/new-library,8 . 07/22/2015, 3rd generation introduced 'stacks' https://www.freelists.org/post/procps/newlib-stacks-vs-chains . 06/18/2016, 4th generation refinements begin https://www.freelists.org/post/procps/newlib-generation-35 . 11/10/2017, 4th generation standardized 'errno' https://www.freelists.org/post/procps/some-more-master-newlib-stuff _______________________________________ CURRENT DESIGN Central to this new design is a simple 'result' struct reflecting an item plus its value (thanks to a union). As a user option, these item structures can be grouped into 'stacks', yielding many results with just 1 call. Such a 'stack' can be seen as a variable length record whose content/order is determined solely by the users. Within that 'result' structure, the union has standard C language types so there is never a doubt how a value should be used in a printf statement. Given that linux requires a least a 32-bit platform the only difference in capacity surrounds 'long' integers. And, where such types might be used, the 32-bit maximums are adequate. The items themselves are simply enumerators defined in the respective header files. A user can name any items of interest then the library magically provides result structure(s). The approach was proven to be extensible without breaking the ABI (in commit referenced below). The 6 major APIs each provide for the following calls: . 'new' ---------> always required as the first call . . 'ref' -------------------------> strictly optional . . 'unref' --------> optional, if ill-behaved program . . 'get' --------------------> retrieve a single item . . 'select' ----------------> retrieve multiple items . And the 'get' and 'select' functions provide for delta results representing the difference between successive get/select calls (or a 'new' then 'get/select' call). For the <diskstats>, <pids>, <slabinfo> & <stat> APIs, where results are unpredictable, a 'reap' function can return multiple result structures for multiple stacks. The <pids> API differs from others in that those items of interest must be provided at 'new' or 'reset' time, a function unique to this API. And the <pids> 'select' function requires PIDs or UIDs which are to be fetched which then operates as a subset of 'reap'. Lastly, the 'get' function is an iterator for successive PIDs/TIDs returning items previously identified via 'new/reset'. To provide assistance to users during development, the special header 'proc/xtra-procps-debug.h' is available to check type usage against library expectations. That check is activated by including this header explicitly or via build using: ./configure '-DXTRA_PROCPS_DEBUG'. Reference(s): . 08/05/2016, type validation introduced https://www.freelists.org/post/procps/newlib-types-validation commite3270d463d
. 08/11/2016, extensibility while preserving ABI example https://www.freelists.org/post/procps/new-meminfo-fields commit09e1886c9e
_________________________ INITIAL DOCUMENTATION EFFORT The initial attempt, referenced below, dealt primarily with the <pids> interface. Separate man pages for each exported function were created. Plus there was another document describing the items, among other miscellany. Adopting such an approach encounters several problems: 1. In order to use these man pages, users are required to already know how to use the library. Or alternately one could randomly search each of them while trying to ascertain which function call satisfies their need and what exactly was the proper compliment/order required. 2. While we can explain what all of those <pids> items represent, that certainly isn't true for all the APIs. See the gaps in kernel documentation for <meminfo> and complete lack of documentation with that <vmstat> API. 3. Our documentation effort should take pains to avoid unnecessary implementation details. Here's an example: . "The pointer to info will have memory" . "allocated and a structure created." Alternatively, the following conveys user requirements while not offering any internal implementation detail: . "You must provide the address of a NULL" . "info structure pointer." Reference(s): . 01/04/2017, initial documentation offering https://www.freelists.org/post/procps/Using-reap-and-get commit2598e9f2ce
___________________ RECOMMENDED DOCUMENTATION APPROACH I recommend that the newlib documentation consist of 3 man pages only. The first would cover the 5 major APIs and their common functions. The second would deal with the <pids> API exclusively, explaining how it differs. Any remaining exported libproc functions which are yet to be included could be represented in a 3rd document. For these new documents the following are are assumed: 1. Since we will not be able to document all items, we shouldn't try to document any items. We should instead rely on proc(5) or Documentation/filesystems/proc.txt. 2. Program development often involves referencing some header file(s). So, make that an absolute requirement. 3. With the addition of item origins, represented with this commit, and considering that 'types' were already present, the header file might be all some users need. 4. And who knows, when a user of our libproc complains about gaps in their documentation, it might prompt the kernel folks to correct those long standing omissions. To summarize, I suggest that we replace that libproc.3 document with a more general one explaining the basics of accessing this new library and the common calls for most of the major interfaces. We can then create a new document (libproc-pids.3?), which explains differences in using the <PIDS> application programming interface. A final document (libproc-misc.3?) covers what's left. Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
parent
d9f88246f6
commit
96d59cbf46
@ -30,35 +30,36 @@ extern "C" {
|
||||
enum diskstats_item {
|
||||
DISKSTATS_noop, // ( never altered )
|
||||
DISKSTATS_extra, // ( reset to zero )
|
||||
// returns origin, see proc(5)
|
||||
// ------- -------------------
|
||||
DISKSTATS_NAME, // str /proc/diskstats
|
||||
DISKSTATS_TYPE, // s_int "
|
||||
DISKSTATS_MAJOR, // s_int "
|
||||
DISKSTATS_MINOR, // s_int "
|
||||
|
||||
DISKSTATS_NAME, // str
|
||||
DISKSTATS_TYPE, // s_int
|
||||
DISKSTATS_MAJOR, // s_int
|
||||
DISKSTATS_MINOR, // s_int
|
||||
DISKSTATS_READS, // ul_int "
|
||||
DISKSTATS_READS_MERGED, // ul_int "
|
||||
DISKSTATS_READ_SECTORS, // ul_int "
|
||||
DISKSTATS_READ_TIME, // ul_int "
|
||||
DISKSTATS_WRITES, // ul_int "
|
||||
DISKSTATS_WRITES_MERGED, // ul_int "
|
||||
DISKSTATS_WRITE_SECTORS, // ul_int "
|
||||
DISKSTATS_WRITE_TIME, // ul_int "
|
||||
DISKSTATS_IO_TIME, // ul_int "
|
||||
DISKSTATS_IO_WTIME, // ul_int "
|
||||
|
||||
DISKSTATS_READS, // ul_int
|
||||
DISKSTATS_READS_MERGED, // ul_int
|
||||
DISKSTATS_READ_SECTORS, // ul_int
|
||||
DISKSTATS_READ_TIME, // ul_int
|
||||
DISKSTATS_WRITES, // ul_int
|
||||
DISKSTATS_WRITES_MERGED, // ul_int
|
||||
DISKSTATS_WRITE_SECTORS, // ul_int
|
||||
DISKSTATS_WRITE_TIME, // ul_int
|
||||
DISKSTATS_IO_TIME, // ul_int
|
||||
DISKSTATS_IO_WTIME, // ul_int
|
||||
DISKSTATS_IO_INPROGRESS, // s_int "
|
||||
|
||||
DISKSTATS_IO_INPROGRESS, // s_int
|
||||
|
||||
DISKSTATS_DELTA_READS, // s_int
|
||||
DISKSTATS_DELTA_READS_MERGED, // s_int
|
||||
DISKSTATS_DELTA_READ_SECTORS, // s_int
|
||||
DISKSTATS_DELTA_READ_TIME, // s_int
|
||||
DISKSTATS_DELTA_WRITES, // s_int
|
||||
DISKSTATS_DELTA_WRITES_MERGED, // s_int
|
||||
DISKSTATS_DELTA_WRITE_SECTORS, // s_int
|
||||
DISKSTATS_DELTA_WRITE_TIME, // s_int
|
||||
DISKSTATS_DELTA_IO_TIME, // s_int
|
||||
DISKSTATS_DELTA_IO_WTIME // s_int
|
||||
DISKSTATS_DELTA_READS, // s_int dervied from above
|
||||
DISKSTATS_DELTA_READS_MERGED, // s_int "
|
||||
DISKSTATS_DELTA_READ_SECTORS, // s_int "
|
||||
DISKSTATS_DELTA_READ_TIME, // s_int "
|
||||
DISKSTATS_DELTA_WRITES, // s_int "
|
||||
DISKSTATS_DELTA_WRITES_MERGED, // s_int "
|
||||
DISKSTATS_DELTA_WRITE_SECTORS, // s_int "
|
||||
DISKSTATS_DELTA_WRITE_TIME, // s_int "
|
||||
DISKSTATS_DELTA_IO_TIME, // s_int "
|
||||
DISKSTATS_DELTA_IO_WTIME // s_int "
|
||||
};
|
||||
|
||||
enum diskstats_sort_order {
|
||||
|
210
proc/meminfo.h
210
proc/meminfo.h
@ -29,115 +29,117 @@ enum meminfo_item {
|
||||
/*
|
||||
note: all of the following values are expressed as KiB
|
||||
*/
|
||||
MEMINFO_MEM_ACTIVE, // ul_int
|
||||
MEMINFO_MEM_ACTIVE_ANON, // ul_int
|
||||
MEMINFO_MEM_ACTIVE_FILE, // ul_int
|
||||
MEMINFO_MEM_ANON, // ul_int
|
||||
MEMINFO_MEM_AVAILABLE, // ul_int
|
||||
MEMINFO_MEM_BOUNCE, // ul_int
|
||||
MEMINFO_MEM_BUFFERS, // ul_int
|
||||
MEMINFO_MEM_CACHED, // ul_int
|
||||
MEMINFO_MEM_CACHED_ALL, // ul_int
|
||||
MEMINFO_MEM_COMMIT_LIMIT, // ul_int
|
||||
MEMINFO_MEM_COMMITTED_AS, // ul_int
|
||||
MEMINFO_MEM_HARD_CORRUPTED, // ul_int
|
||||
MEMINFO_MEM_DIRTY, // ul_int
|
||||
MEMINFO_MEM_FREE, // ul_int
|
||||
MEMINFO_MEM_HUGE_ANON, // ul_int
|
||||
MEMINFO_MEM_HUGE_FREE, // ul_int
|
||||
MEMINFO_MEM_HUGE_RSVD, // ul_int
|
||||
MEMINFO_MEM_HUGE_SIZE, // ul_int
|
||||
MEMINFO_MEM_HUGE_SURPLUS, // ul_int
|
||||
MEMINFO_MEM_HUGE_TOTAL, // ul_int
|
||||
MEMINFO_MEM_INACTIVE, // ul_int
|
||||
MEMINFO_MEM_INACTIVE_ANON, // ul_int
|
||||
MEMINFO_MEM_INACTIVE_FILE, // ul_int
|
||||
MEMINFO_MEM_KERNEL_RECLAIM, // ul_int
|
||||
MEMINFO_MEM_KERNEL_STACK, // ul_int
|
||||
MEMINFO_MEM_LOCKED, // ul_int
|
||||
MEMINFO_MEM_MAPPED, // ul_int
|
||||
MEMINFO_MEM_MAP_COPY, // ul_int
|
||||
MEMINFO_MEM_NFS_UNSTABLE, // ul_int
|
||||
MEMINFO_MEM_PAGE_TABLES, // ul_int
|
||||
MEMINFO_MEM_QUICKLISTS, // ul_int
|
||||
MEMINFO_MEM_SHARED, // ul_int
|
||||
MEMINFO_MEM_SHMEM_HUGE, // ul_int
|
||||
MEMINFO_MEM_SHMEM_HUGE_MAP, // ul_int
|
||||
MEMINFO_MEM_SLAB, // ul_int
|
||||
MEMINFO_MEM_SLAB_RECLAIM, // ul_int
|
||||
MEMINFO_MEM_SLAB_UNRECLAIM, // ul_int
|
||||
MEMINFO_MEM_TOTAL, // ul_int
|
||||
MEMINFO_MEM_UNEVICTABLE, // ul_int
|
||||
MEMINFO_MEM_USED, // ul_int
|
||||
MEMINFO_MEM_VM_ALLOC_CHUNK, // ul_int
|
||||
MEMINFO_MEM_VM_ALLOC_TOTAL, // ul_int
|
||||
MEMINFO_MEM_VM_ALLOC_USED, // ul_int
|
||||
MEMINFO_MEM_WRITEBACK, // ul_int
|
||||
MEMINFO_MEM_WRITEBACK_TMP, // ul_int
|
||||
// returns origin, see proc(5)
|
||||
// ------- -------------------
|
||||
MEMINFO_MEM_ACTIVE, // ul_int /proc/meminfo
|
||||
MEMINFO_MEM_ACTIVE_ANON, // ul_int "
|
||||
MEMINFO_MEM_ACTIVE_FILE, // ul_int "
|
||||
MEMINFO_MEM_ANON, // ul_int "
|
||||
MEMINFO_MEM_AVAILABLE, // ul_int "
|
||||
MEMINFO_MEM_BOUNCE, // ul_int "
|
||||
MEMINFO_MEM_BUFFERS, // ul_int "
|
||||
MEMINFO_MEM_CACHED, // ul_int "
|
||||
MEMINFO_MEM_CACHED_ALL, // ul_int "
|
||||
MEMINFO_MEM_COMMIT_LIMIT, // ul_int "
|
||||
MEMINFO_MEM_COMMITTED_AS, // ul_int "
|
||||
MEMINFO_MEM_HARD_CORRUPTED, // ul_int "
|
||||
MEMINFO_MEM_DIRTY, // ul_int "
|
||||
MEMINFO_MEM_FREE, // ul_int "
|
||||
MEMINFO_MEM_HUGE_ANON, // ul_int "
|
||||
MEMINFO_MEM_HUGE_FREE, // ul_int "
|
||||
MEMINFO_MEM_HUGE_RSVD, // ul_int "
|
||||
MEMINFO_MEM_HUGE_SIZE, // ul_int "
|
||||
MEMINFO_MEM_HUGE_SURPLUS, // ul_int "
|
||||
MEMINFO_MEM_HUGE_TOTAL, // ul_int "
|
||||
MEMINFO_MEM_INACTIVE, // ul_int "
|
||||
MEMINFO_MEM_INACTIVE_ANON, // ul_int "
|
||||
MEMINFO_MEM_INACTIVE_FILE, // ul_int "
|
||||
MEMINFO_MEM_KERNEL_RECLAIM, // ul_int "
|
||||
MEMINFO_MEM_KERNEL_STACK, // ul_int "
|
||||
MEMINFO_MEM_LOCKED, // ul_int "
|
||||
MEMINFO_MEM_MAPPED, // ul_int "
|
||||
MEMINFO_MEM_MAP_COPY, // ul_int "
|
||||
MEMINFO_MEM_NFS_UNSTABLE, // ul_int "
|
||||
MEMINFO_MEM_PAGE_TABLES, // ul_int "
|
||||
MEMINFO_MEM_QUICKLISTS, // ul_int "
|
||||
MEMINFO_MEM_SHARED, // ul_int "
|
||||
MEMINFO_MEM_SHMEM_HUGE, // ul_int "
|
||||
MEMINFO_MEM_SHMEM_HUGE_MAP, // ul_int "
|
||||
MEMINFO_MEM_SLAB, // ul_int "
|
||||
MEMINFO_MEM_SLAB_RECLAIM, // ul_int "
|
||||
MEMINFO_MEM_SLAB_UNRECLAIM, // ul_int "
|
||||
MEMINFO_MEM_TOTAL, // ul_int "
|
||||
MEMINFO_MEM_UNEVICTABLE, // ul_int "
|
||||
MEMINFO_MEM_USED, // ul_int "
|
||||
MEMINFO_MEM_VM_ALLOC_CHUNK, // ul_int "
|
||||
MEMINFO_MEM_VM_ALLOC_TOTAL, // ul_int "
|
||||
MEMINFO_MEM_VM_ALLOC_USED, // ul_int "
|
||||
MEMINFO_MEM_WRITEBACK, // ul_int "
|
||||
MEMINFO_MEM_WRITEBACK_TMP, // ul_int "
|
||||
|
||||
MEMINFO_DELTA_ACTIVE, // s_int
|
||||
MEMINFO_DELTA_ACTIVE_ANON, // s_int
|
||||
MEMINFO_DELTA_ACTIVE_FILE, // s_int
|
||||
MEMINFO_DELTA_ANON, // s_int
|
||||
MEMINFO_DELTA_AVAILABLE, // s_int
|
||||
MEMINFO_DELTA_BOUNCE, // s_int
|
||||
MEMINFO_DELTA_BUFFERS, // s_int
|
||||
MEMINFO_DELTA_CACHED, // s_int
|
||||
MEMINFO_DELTA_CACHED_ALL, // s_int
|
||||
MEMINFO_DELTA_COMMIT_LIMIT, // s_int
|
||||
MEMINFO_DELTA_COMMITTED_AS, // s_int
|
||||
MEMINFO_DELTA_HARD_CORRUPTED, // s_int
|
||||
MEMINFO_DELTA_DIRTY, // s_int
|
||||
MEMINFO_DELTA_FREE, // s_int
|
||||
MEMINFO_DELTA_HUGE_ANON, // s_int
|
||||
MEMINFO_DELTA_HUGE_FREE, // s_int
|
||||
MEMINFO_DELTA_HUGE_RSVD, // s_int
|
||||
MEMINFO_DELTA_HUGE_SIZE, // s_int
|
||||
MEMINFO_DELTA_HUGE_SURPLUS, // s_int
|
||||
MEMINFO_DELTA_HUGE_TOTAL, // s_int
|
||||
MEMINFO_DELTA_INACTIVE, // s_int
|
||||
MEMINFO_DELTA_INACTIVE_ANON, // s_int
|
||||
MEMINFO_DELTA_INACTIVE_FILE, // s_int
|
||||
MEMINFO_DELTA_KERNEL_RECLAIM, // s_int
|
||||
MEMINFO_DELTA_KERNEL_STACK, // s_int
|
||||
MEMINFO_DELTA_LOCKED, // s_int
|
||||
MEMINFO_DELTA_MAPPED, // s_int
|
||||
MEMINFO_DELTA_MAP_COPY, // s_int
|
||||
MEMINFO_DELTA_NFS_UNSTABLE, // s_int
|
||||
MEMINFO_DELTA_PAGE_TABLES, // s_int
|
||||
MEMINFO_DELTA_QUICKLISTS, // s_int
|
||||
MEMINFO_DELTA_SHARED, // s_int
|
||||
MEMINFO_DELTA_SHMEM_HUGE, // s_int
|
||||
MEMINFO_DELTA_SHMEM_HUGE_MAP, // s_int
|
||||
MEMINFO_DELTA_SLAB, // s_int
|
||||
MEMINFO_DELTA_SLAB_RECLAIM, // s_int
|
||||
MEMINFO_DELTA_SLAB_UNRECLAIM, // s_int
|
||||
MEMINFO_DELTA_TOTAL, // s_int
|
||||
MEMINFO_DELTA_UNEVICTABLE, // s_int
|
||||
MEMINFO_DELTA_USED, // s_int
|
||||
MEMINFO_DELTA_VM_ALLOC_CHUNK, // s_int
|
||||
MEMINFO_DELTA_VM_ALLOC_TOTAL, // s_int
|
||||
MEMINFO_DELTA_VM_ALLOC_USED, // s_int
|
||||
MEMINFO_DELTA_WRITEBACK, // s_int
|
||||
MEMINFO_DELTA_WRITEBACK_TMP, // s_int
|
||||
MEMINFO_DELTA_ACTIVE, // s_int dervied from above
|
||||
MEMINFO_DELTA_ACTIVE_ANON, // s_int "
|
||||
MEMINFO_DELTA_ACTIVE_FILE, // s_int "
|
||||
MEMINFO_DELTA_ANON, // s_int "
|
||||
MEMINFO_DELTA_AVAILABLE, // s_int "
|
||||
MEMINFO_DELTA_BOUNCE, // s_int "
|
||||
MEMINFO_DELTA_BUFFERS, // s_int "
|
||||
MEMINFO_DELTA_CACHED, // s_int "
|
||||
MEMINFO_DELTA_CACHED_ALL, // s_int "
|
||||
MEMINFO_DELTA_COMMIT_LIMIT, // s_int "
|
||||
MEMINFO_DELTA_COMMITTED_AS, // s_int "
|
||||
MEMINFO_DELTA_HARD_CORRUPTED, // s_int "
|
||||
MEMINFO_DELTA_DIRTY, // s_int "
|
||||
MEMINFO_DELTA_FREE, // s_int "
|
||||
MEMINFO_DELTA_HUGE_ANON, // s_int "
|
||||
MEMINFO_DELTA_HUGE_FREE, // s_int "
|
||||
MEMINFO_DELTA_HUGE_RSVD, // s_int "
|
||||
MEMINFO_DELTA_HUGE_SIZE, // s_int "
|
||||
MEMINFO_DELTA_HUGE_SURPLUS, // s_int "
|
||||
MEMINFO_DELTA_HUGE_TOTAL, // s_int "
|
||||
MEMINFO_DELTA_INACTIVE, // s_int "
|
||||
MEMINFO_DELTA_INACTIVE_ANON, // s_int "
|
||||
MEMINFO_DELTA_INACTIVE_FILE, // s_int "
|
||||
MEMINFO_DELTA_KERNEL_RECLAIM, // s_int "
|
||||
MEMINFO_DELTA_KERNEL_STACK, // s_int "
|
||||
MEMINFO_DELTA_LOCKED, // s_int "
|
||||
MEMINFO_DELTA_MAPPED, // s_int "
|
||||
MEMINFO_DELTA_MAP_COPY, // s_int "
|
||||
MEMINFO_DELTA_NFS_UNSTABLE, // s_int "
|
||||
MEMINFO_DELTA_PAGE_TABLES, // s_int "
|
||||
MEMINFO_DELTA_QUICKLISTS, // s_int "
|
||||
MEMINFO_DELTA_SHARED, // s_int "
|
||||
MEMINFO_DELTA_SHMEM_HUGE, // s_int "
|
||||
MEMINFO_DELTA_SHMEM_HUGE_MAP, // s_int "
|
||||
MEMINFO_DELTA_SLAB, // s_int "
|
||||
MEMINFO_DELTA_SLAB_RECLAIM, // s_int "
|
||||
MEMINFO_DELTA_SLAB_UNRECLAIM, // s_int "
|
||||
MEMINFO_DELTA_TOTAL, // s_int "
|
||||
MEMINFO_DELTA_UNEVICTABLE, // s_int "
|
||||
MEMINFO_DELTA_USED, // s_int "
|
||||
MEMINFO_DELTA_VM_ALLOC_CHUNK, // s_int "
|
||||
MEMINFO_DELTA_VM_ALLOC_TOTAL, // s_int "
|
||||
MEMINFO_DELTA_VM_ALLOC_USED, // s_int "
|
||||
MEMINFO_DELTA_WRITEBACK, // s_int "
|
||||
MEMINFO_DELTA_WRITEBACK_TMP, // s_int "
|
||||
|
||||
MEMINFO_MEMHI_FREE, // ul_int
|
||||
MEMINFO_MEMHI_TOTAL, // ul_int
|
||||
MEMINFO_MEMHI_USED, // ul_int
|
||||
MEMINFO_MEMHI_FREE, // ul_int /proc/meminfo
|
||||
MEMINFO_MEMHI_TOTAL, // ul_int "
|
||||
MEMINFO_MEMHI_USED, // ul_int "
|
||||
|
||||
MEMINFO_MEMLO_FREE, // ul_int
|
||||
MEMINFO_MEMLO_TOTAL, // ul_int
|
||||
MEMINFO_MEMLO_USED, // ul_int
|
||||
MEMINFO_MEMLO_FREE, // ul_int "
|
||||
MEMINFO_MEMLO_TOTAL, // ul_int "
|
||||
MEMINFO_MEMLO_USED, // ul_int "
|
||||
|
||||
MEMINFO_SWAP_CACHED, // ul_int
|
||||
MEMINFO_SWAP_FREE, // ul_int
|
||||
MEMINFO_SWAP_TOTAL, // ul_int
|
||||
MEMINFO_SWAP_USED, // ul_int
|
||||
MEMINFO_SWAP_CACHED, // ul_int "
|
||||
MEMINFO_SWAP_FREE, // ul_int "
|
||||
MEMINFO_SWAP_TOTAL, // ul_int "
|
||||
MEMINFO_SWAP_USED, // ul_int "
|
||||
|
||||
MEMINFO_SWAP_DELTA_CACHED, // s_int
|
||||
MEMINFO_SWAP_DELTA_FREE, // s_int
|
||||
MEMINFO_SWAP_DELTA_TOTAL, // s_int
|
||||
MEMINFO_SWAP_DELTA_USED // s_int
|
||||
MEMINFO_SWAP_DELTA_CACHED, // s_int dervied from above
|
||||
MEMINFO_SWAP_DELTA_FREE, // s_int "
|
||||
MEMINFO_SWAP_DELTA_TOTAL, // s_int "
|
||||
MEMINFO_SWAP_DELTA_USED // s_int "
|
||||
};
|
||||
|
||||
|
||||
|
240
proc/pids.h
240
proc/pids.h
@ -30,125 +30,127 @@ extern "C" {
|
||||
enum pids_item {
|
||||
PIDS_noop, // ( never altered )
|
||||
PIDS_extra, // ( reset to zero )
|
||||
PIDS_ADDR_END_CODE, // ul_int
|
||||
PIDS_ADDR_KSTK_EIP, // ul_int
|
||||
PIDS_ADDR_KSTK_ESP, // ul_int
|
||||
PIDS_ADDR_START_CODE, // ul_int
|
||||
PIDS_ADDR_START_STACK, // ul_int
|
||||
PIDS_CGNAME, // str
|
||||
PIDS_CGROUP, // str
|
||||
PIDS_CGROUP_V, // strv
|
||||
PIDS_CMD, // str
|
||||
PIDS_CMDLINE, // str
|
||||
PIDS_CMDLINE_V, // strv
|
||||
PIDS_ENVIRON, // str
|
||||
PIDS_ENVIRON_V, // strv
|
||||
PIDS_EXE, // str
|
||||
PIDS_EXIT_SIGNAL, // s_int
|
||||
PIDS_FLAGS, // ul_int
|
||||
PIDS_FLT_MAJ, // ul_int
|
||||
PIDS_FLT_MAJ_C, // ul_int
|
||||
PIDS_FLT_MAJ_DELTA, // s_int
|
||||
PIDS_FLT_MIN, // ul_int
|
||||
PIDS_FLT_MIN_C, // ul_int
|
||||
PIDS_FLT_MIN_DELTA, // s_int
|
||||
PIDS_ID_EGID, // u_int
|
||||
PIDS_ID_EGROUP, // str
|
||||
PIDS_ID_EUID, // u_int
|
||||
PIDS_ID_EUSER, // str
|
||||
PIDS_ID_FGID, // u_int
|
||||
PIDS_ID_FGROUP, // str
|
||||
PIDS_ID_FUID, // u_int
|
||||
PIDS_ID_FUSER, // str
|
||||
PIDS_ID_LOGIN, // s_int
|
||||
PIDS_ID_PGRP, // s_int
|
||||
PIDS_ID_PID, // s_int
|
||||
PIDS_ID_PPID, // s_int
|
||||
PIDS_ID_RGID, // u_int
|
||||
PIDS_ID_RGROUP, // str
|
||||
PIDS_ID_RUID, // u_int
|
||||
PIDS_ID_RUSER, // str
|
||||
PIDS_ID_SESSION, // s_int
|
||||
PIDS_ID_SGID, // u_int
|
||||
PIDS_ID_SGROUP, // str
|
||||
PIDS_ID_SUID, // u_int
|
||||
PIDS_ID_SUSER, // str
|
||||
PIDS_ID_TGID, // s_int
|
||||
PIDS_ID_TID, // s_int
|
||||
PIDS_ID_TPGID, // s_int
|
||||
PIDS_LXCNAME, // str
|
||||
PIDS_MEM_CODE, // ul_int
|
||||
PIDS_MEM_CODE_PGS, // ul_int
|
||||
PIDS_MEM_DATA, // ul_int
|
||||
PIDS_MEM_DATA_PGS, // ul_int
|
||||
PIDS_MEM_RES, // ul_int
|
||||
PIDS_MEM_RES_PGS, // ul_int
|
||||
PIDS_MEM_SHR, // ul_int
|
||||
PIDS_MEM_SHR_PGS, // ul_int
|
||||
PIDS_MEM_VIRT, // ul_int
|
||||
PIDS_MEM_VIRT_PGS, // ul_int
|
||||
PIDS_NICE, // s_int
|
||||
PIDS_NLWP, // s_int
|
||||
PIDS_NS_IPC, // ul_int
|
||||
PIDS_NS_MNT, // ul_int
|
||||
PIDS_NS_NET, // ul_int
|
||||
PIDS_NS_PID, // ul_int
|
||||
PIDS_NS_USER, // ul_int
|
||||
PIDS_NS_UTS, // ul_int
|
||||
PIDS_OOM_ADJ, // s_int
|
||||
PIDS_OOM_SCORE, // s_int
|
||||
PIDS_PRIORITY, // s_int
|
||||
PIDS_PROCESSOR, // u_int
|
||||
PIDS_PROCESSOR_NODE, // s_int
|
||||
PIDS_RSS, // ul_int
|
||||
PIDS_RSS_RLIM, // ul_int
|
||||
PIDS_RTPRIO, // s_int
|
||||
PIDS_SCHED_CLASS, // s_int
|
||||
PIDS_SD_MACH, // str
|
||||
PIDS_SD_OUID, // str
|
||||
PIDS_SD_SEAT, // str
|
||||
PIDS_SD_SESS, // str
|
||||
PIDS_SD_SLICE, // str
|
||||
PIDS_SD_UNIT, // str
|
||||
PIDS_SD_UUNIT, // str
|
||||
PIDS_SIGBLOCKED, // str
|
||||
PIDS_SIGCATCH, // str
|
||||
PIDS_SIGIGNORE, // str
|
||||
PIDS_SIGNALS, // str
|
||||
PIDS_SIGPENDING, // str
|
||||
PIDS_STATE, // s_ch
|
||||
PIDS_SUPGIDS, // str
|
||||
PIDS_SUPGROUPS, // str
|
||||
PIDS_TICS_ALL, // ull_int
|
||||
PIDS_TICS_ALL_C, // ull_int
|
||||
PIDS_TICS_ALL_DELTA, // s_int
|
||||
PIDS_TICS_BLKIO, // ull_int
|
||||
PIDS_TICS_GUEST, // ull_int
|
||||
PIDS_TICS_GUEST_C, // ull_int
|
||||
PIDS_TICS_SYSTEM, // ull_int
|
||||
PIDS_TICS_SYSTEM_C, // ull_int
|
||||
PIDS_TICS_USER, // ull_int
|
||||
PIDS_TICS_USER_C, // ull_int
|
||||
PIDS_TIME_ALL, // ull_int
|
||||
PIDS_TIME_ELAPSED, // ull_int
|
||||
PIDS_TIME_START, // ull_int
|
||||
PIDS_TTY, // s_int
|
||||
PIDS_TTY_NAME, // str
|
||||
PIDS_TTY_NUMBER, // str
|
||||
PIDS_VM_DATA, // ul_int
|
||||
PIDS_VM_EXE, // ul_int
|
||||
PIDS_VM_LIB, // ul_int
|
||||
PIDS_VM_RSS, // ul_int
|
||||
PIDS_VM_RSS_ANON, // ul_int
|
||||
PIDS_VM_RSS_FILE, // ul_int
|
||||
PIDS_VM_RSS_LOCKED, // ul_int
|
||||
PIDS_VM_RSS_SHARED, // ul_int
|
||||
PIDS_VM_SIZE, // ul_int
|
||||
PIDS_VM_STACK, // ul_int
|
||||
PIDS_VM_SWAP, // ul_int
|
||||
PIDS_VM_USED, // ul_int
|
||||
PIDS_VSIZE_PGS, // ul_int
|
||||
PIDS_WCHAN_NAME // str
|
||||
// returns origin, see proc(5)
|
||||
// ------- -------------------
|
||||
PIDS_ADDR_END_CODE, // ul_int stat
|
||||
PIDS_ADDR_KSTK_EIP, // ul_int stat
|
||||
PIDS_ADDR_KSTK_ESP, // ul_int stat
|
||||
PIDS_ADDR_START_CODE, // ul_int stat
|
||||
PIDS_ADDR_START_STACK, // ul_int stat
|
||||
PIDS_CGNAME, // str cgroup
|
||||
PIDS_CGROUP, // str cgroup
|
||||
PIDS_CGROUP_V, // strv cgroup
|
||||
PIDS_CMD, // str stat or status
|
||||
PIDS_CMDLINE, // str cmdline
|
||||
PIDS_CMDLINE_V, // strv cmdline
|
||||
PIDS_ENVIRON, // str environ
|
||||
PIDS_ENVIRON_V, // strv environ
|
||||
PIDS_EXE, // str exe
|
||||
PIDS_EXIT_SIGNAL, // s_int stat
|
||||
PIDS_FLAGS, // ul_int stat
|
||||
PIDS_FLT_MAJ, // ul_int stat
|
||||
PIDS_FLT_MAJ_C, // ul_int stat
|
||||
PIDS_FLT_MAJ_DELTA, // s_int stat
|
||||
PIDS_FLT_MIN, // ul_int stat
|
||||
PIDS_FLT_MIN_C, // ul_int stat
|
||||
PIDS_FLT_MIN_DELTA, // s_int stat
|
||||
PIDS_ID_EGID, // u_int status
|
||||
PIDS_ID_EGROUP, // str [ EGID based, see: getgrgid(3) ]
|
||||
PIDS_ID_EUID, // u_int status
|
||||
PIDS_ID_EUSER, // str [ EUID based, see: getpwuid(3) ]
|
||||
PIDS_ID_FGID, // u_int status
|
||||
PIDS_ID_FGROUP, // str [ FGID based, see: getgrgid(3) ]
|
||||
PIDS_ID_FUID, // u_int status
|
||||
PIDS_ID_FUSER, // str [ FUID based, see: getpwuid(3) ]
|
||||
PIDS_ID_LOGIN, // s_int loginuid
|
||||
PIDS_ID_PGRP, // s_int stat
|
||||
PIDS_ID_PID, // s_int as: /proc/<pid>
|
||||
PIDS_ID_PPID, // s_int stat or status
|
||||
PIDS_ID_RGID, // u_int status
|
||||
PIDS_ID_RGROUP, // str [ RGID based, see: getgrgid(3) ]
|
||||
PIDS_ID_RUID, // u_int status
|
||||
PIDS_ID_RUSER, // str [ RUID based, see: getpwuid(3) ]
|
||||
PIDS_ID_SESSION, // s_int stat
|
||||
PIDS_ID_SGID, // u_int status
|
||||
PIDS_ID_SGROUP, // str [ SGID based, see: getgrgid(3) ]
|
||||
PIDS_ID_SUID, // u_int status
|
||||
PIDS_ID_SUSER, // str [ SUID based, see: getpwuid(3) ]
|
||||
PIDS_ID_TGID, // s_int status
|
||||
PIDS_ID_TID, // s_int as: /proc/<pid>/task/<tid>
|
||||
PIDS_ID_TPGID, // s_int stat
|
||||
PIDS_LXCNAME, // str cgroup
|
||||
PIDS_MEM_CODE, // ul_int statm
|
||||
PIDS_MEM_CODE_PGS, // ul_int statm
|
||||
PIDS_MEM_DATA, // ul_int statm
|
||||
PIDS_MEM_DATA_PGS, // ul_int statm
|
||||
PIDS_MEM_RES, // ul_int statm
|
||||
PIDS_MEM_RES_PGS, // ul_int statm
|
||||
PIDS_MEM_SHR, // ul_int statm
|
||||
PIDS_MEM_SHR_PGS, // ul_int statm
|
||||
PIDS_MEM_VIRT, // ul_int statm
|
||||
PIDS_MEM_VIRT_PGS, // ul_int statm
|
||||
PIDS_NICE, // s_int stat
|
||||
PIDS_NLWP, // s_int stat or status
|
||||
PIDS_NS_IPC, // ul_int ns/
|
||||
PIDS_NS_MNT, // ul_int ns/
|
||||
PIDS_NS_NET, // ul_int ns/
|
||||
PIDS_NS_PID, // ul_int ns/
|
||||
PIDS_NS_USER, // ul_int ns/
|
||||
PIDS_NS_UTS, // ul_int ns/
|
||||
PIDS_OOM_ADJ, // s_int oom_score_adj
|
||||
PIDS_OOM_SCORE, // s_int oom_score
|
||||
PIDS_PRIORITY, // s_int stat
|
||||
PIDS_PROCESSOR, // u_int stat
|
||||
PIDS_PROCESSOR_NODE, // s_int stat
|
||||
PIDS_RSS, // ul_int stat
|
||||
PIDS_RSS_RLIM, // ul_int stat
|
||||
PIDS_RTPRIO, // s_int stat
|
||||
PIDS_SCHED_CLASS, // s_int stat
|
||||
PIDS_SD_MACH, // str [ PID/TID based, see: sd-login(3) ]
|
||||
PIDS_SD_OUID, // str "
|
||||
PIDS_SD_SEAT, // str "
|
||||
PIDS_SD_SESS, // str "
|
||||
PIDS_SD_SLICE, // str "
|
||||
PIDS_SD_UNIT, // str "
|
||||
PIDS_SD_UUNIT, // str "
|
||||
PIDS_SIGBLOCKED, // str status
|
||||
PIDS_SIGCATCH, // str status
|
||||
PIDS_SIGIGNORE, // str status
|
||||
PIDS_SIGNALS, // str status
|
||||
PIDS_SIGPENDING, // str status
|
||||
PIDS_STATE, // s_ch stat or status
|
||||
PIDS_SUPGIDS, // str status
|
||||
PIDS_SUPGROUPS, // str [ SUPGIDS based, see: getgrgid(3) ]
|
||||
PIDS_TICS_ALL, // ull_int stat
|
||||
PIDS_TICS_ALL_C, // ull_int stat
|
||||
PIDS_TICS_ALL_DELTA, // s_int stat
|
||||
PIDS_TICS_BLKIO, // ull_int stat
|
||||
PIDS_TICS_GUEST, // ull_int stat
|
||||
PIDS_TICS_GUEST_C, // ull_int stat
|
||||
PIDS_TICS_SYSTEM, // ull_int stat
|
||||
PIDS_TICS_SYSTEM_C, // ull_int stat
|
||||
PIDS_TICS_USER, // ull_int stat
|
||||
PIDS_TICS_USER_C, // ull_int stat
|
||||
PIDS_TIME_ALL, // ull_int stat
|
||||
PIDS_TIME_ELAPSED, // ull_int stat
|
||||
PIDS_TIME_START, // ull_int stat
|
||||
PIDS_TTY, // s_int stat
|
||||
PIDS_TTY_NAME, // str stat
|
||||
PIDS_TTY_NUMBER, // str stat
|
||||
PIDS_VM_DATA, // ul_int status
|
||||
PIDS_VM_EXE, // ul_int status
|
||||
PIDS_VM_LIB, // ul_int status
|
||||
PIDS_VM_RSS, // ul_int status
|
||||
PIDS_VM_RSS_ANON, // ul_int status
|
||||
PIDS_VM_RSS_FILE, // ul_int status
|
||||
PIDS_VM_RSS_LOCKED, // ul_int status
|
||||
PIDS_VM_RSS_SHARED, // ul_int status
|
||||
PIDS_VM_SIZE, // ul_int status
|
||||
PIDS_VM_STACK, // ul_int status
|
||||
PIDS_VM_SWAP, // ul_int status
|
||||
PIDS_VM_USED, // ul_int status
|
||||
PIDS_VSIZE_PGS, // ul_int stat
|
||||
PIDS_WCHAN_NAME // str wchan
|
||||
};
|
||||
|
||||
enum pids_fetch_type {
|
||||
|
@ -24,49 +24,50 @@
|
||||
#define PROCPS_SLABINFO_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C "{
|
||||
#endif
|
||||
|
||||
enum slabinfo_item {
|
||||
SLABINFO_noop, // ( never altered )
|
||||
SLABINFO_extra, // ( reset to zero )
|
||||
// returns origin, see proc(5)
|
||||
// ------- -------------------
|
||||
SLABS_OBJS, // u_int /proc/slabinfo
|
||||
SLABS_AOBJS, // u_int "
|
||||
SLABS_PAGES, // u_int "
|
||||
SLABS_SLABS, // u_int "
|
||||
SLABS_ASLABS, // u_int "
|
||||
SLABS_CACHES, // u_int "
|
||||
SLABS_ACACHES, // u_int "
|
||||
SLABS_SIZE_AVG, // u_int "
|
||||
SLABS_SIZE_MIN, // u_int "
|
||||
SLABS_SIZE_MAX, // u_int "
|
||||
SLABS_SIZE_ACTIVE, // ul_int "
|
||||
SLABS_SIZE_TOTAL, // ul_int "
|
||||
|
||||
SLABS_OBJS, // u_int
|
||||
SLABS_AOBJS, // u_int
|
||||
SLABS_PAGES, // u_int
|
||||
SLABS_SLABS, // u_int
|
||||
SLABS_ASLABS, // u_int
|
||||
SLABS_CACHES, // u_int
|
||||
SLABS_ACACHES, // u_int
|
||||
SLABS_SIZE_AVG, // u_int
|
||||
SLABS_SIZE_MIN, // u_int
|
||||
SLABS_SIZE_MAX, // u_int
|
||||
SLABS_SIZE_ACTIVE, // ul_int
|
||||
SLABS_SIZE_TOTAL, // ul_int
|
||||
SLABS_DELTA_OBJS, // s_int dervied from above
|
||||
SLABS_DELTA_AOBJS, // s_int "
|
||||
SLABS_DELTA_PAGES, // s_int "
|
||||
SLABS_DELTA_SLABS, // s_int "
|
||||
SLABS_DELTA_ASLABS, // s_int "
|
||||
SLABS_DELTA_CACHES, // s_int "
|
||||
SLABS_DELTA_ACACHES, // s_int "
|
||||
SLABS_DELTA_SIZE_AVG, // s_int "
|
||||
SLABS_DELTA_SIZE_MIN, // s_int "
|
||||
SLABS_DELTA_SIZE_MAX, // s_int "
|
||||
SLABS_DELTA_SIZE_ACTIVE, // s_int "
|
||||
SLABS_DELTA_SIZE_TOTAL, // s_int "
|
||||
|
||||
SLABS_DELTA_OBJS, // s_int
|
||||
SLABS_DELTA_AOBJS, // s_int
|
||||
SLABS_DELTA_PAGES, // s_int
|
||||
SLABS_DELTA_SLABS, // s_int
|
||||
SLABS_DELTA_ASLABS, // s_int
|
||||
SLABS_DELTA_CACHES, // s_int
|
||||
SLABS_DELTA_ACACHES, // s_int
|
||||
SLABS_DELTA_SIZE_AVG, // s_int
|
||||
SLABS_DELTA_SIZE_MIN, // s_int
|
||||
SLABS_DELTA_SIZE_MAX, // s_int
|
||||
SLABS_DELTA_SIZE_ACTIVE, // s_int
|
||||
SLABS_DELTA_SIZE_TOTAL, // s_int
|
||||
|
||||
SLABNODE_NAME, // str
|
||||
SLABNODE_OBJS, // u_int
|
||||
SLABNODE_AOBJS, // u_int
|
||||
SLABNODE_OBJ_SIZE, // u_int
|
||||
SLABNODE_OBJS_PER_SLAB, // u_int
|
||||
SLABNODE_PAGES_PER_SLAB, // u_int
|
||||
SLABNODE_SLABS, // u_int
|
||||
SLABNODE_ASLABS, // u_int
|
||||
SLABNODE_USE, // u_int
|
||||
SLABNODE_SIZE // ul_int
|
||||
SLABNODE_NAME, // str /proc/slabinfo
|
||||
SLABNODE_OBJS, // u_int "
|
||||
SLABNODE_AOBJS, // u_int "
|
||||
SLABNODE_OBJ_SIZE, // u_int "
|
||||
SLABNODE_OBJS_PER_SLAB, // u_int "
|
||||
SLABNODE_PAGES_PER_SLAB, // u_int "
|
||||
SLABNODE_SLABS, // u_int "
|
||||
SLABNODE_ASLABS, // u_int "
|
||||
SLABNODE_USE, // u_int "
|
||||
SLABNODE_SIZE // ul_int "
|
||||
};
|
||||
|
||||
enum slabinfo_sort_order {
|
||||
|
91
proc/stat.h
91
proc/stat.h
@ -26,56 +26,57 @@ extern "C" {
|
||||
enum stat_item {
|
||||
STAT_noop, // ( never altered )
|
||||
STAT_extra, // ( reset to zero )
|
||||
// returns origin, see proc(5)
|
||||
// ------- -------------------
|
||||
STAT_TIC_ID, // s_int /proc/stat
|
||||
STAT_TIC_NUMA_NODE, // s_int [ ID based, see: numa(3) ]
|
||||
STAT_TIC_NUM_CONTRIBUTORS, // s_int [ ID based, see: numa(3) ]
|
||||
STAT_TIC_USER, // ull_int /proc/stat
|
||||
STAT_TIC_NICE, // ull_int "
|
||||
STAT_TIC_SYSTEM, // ull_int "
|
||||
STAT_TIC_IDLE, // ull_int "
|
||||
STAT_TIC_IOWAIT, // ull_int "
|
||||
STAT_TIC_IRQ, // ull_int "
|
||||
STAT_TIC_SOFTIRQ, // ull_int "
|
||||
STAT_TIC_STOLEN, // ull_int "
|
||||
STAT_TIC_GUEST, // ull_int "
|
||||
STAT_TIC_GUEST_NICE, // ull_int "
|
||||
|
||||
STAT_TIC_ID, // s_int
|
||||
STAT_TIC_NUMA_NODE, // s_int
|
||||
STAT_TIC_NUM_CONTRIBUTORS, // s_int
|
||||
STAT_TIC_USER, // ull_int
|
||||
STAT_TIC_NICE, // ull_int
|
||||
STAT_TIC_SYSTEM, // ull_int
|
||||
STAT_TIC_IDLE, // ull_int
|
||||
STAT_TIC_IOWAIT, // ull_int
|
||||
STAT_TIC_IRQ, // ull_int
|
||||
STAT_TIC_SOFTIRQ, // ull_int
|
||||
STAT_TIC_STOLEN, // ull_int
|
||||
STAT_TIC_GUEST, // ull_int
|
||||
STAT_TIC_GUEST_NICE, // ull_int
|
||||
STAT_TIC_SUM_TOTAL, // ull_int "
|
||||
STAT_TIC_SUM_BUSY, // ull_int "
|
||||
STAT_TIC_SUM_IDLE, // ull_int "
|
||||
STAT_TIC_SUM_USER, // ull_int "
|
||||
STAT_TIC_SUM_SYSTEM, // ull_int "
|
||||
|
||||
STAT_TIC_SUM_TOTAL, // ull_int
|
||||
STAT_TIC_SUM_BUSY, // ull_int
|
||||
STAT_TIC_SUM_IDLE, // ull_int
|
||||
STAT_TIC_SUM_USER, // ull_int
|
||||
STAT_TIC_SUM_SYSTEM, // ull_int
|
||||
STAT_TIC_DELTA_USER, // sl_int dervied from above
|
||||
STAT_TIC_DELTA_NICE, // sl_int "
|
||||
STAT_TIC_DELTA_SYSTEM, // sl_int "
|
||||
STAT_TIC_DELTA_IDLE, // sl_int "
|
||||
STAT_TIC_DELTA_IOWAIT, // sl_int "
|
||||
STAT_TIC_DELTA_IRQ, // sl_int "
|
||||
STAT_TIC_DELTA_SOFTIRQ, // sl_int "
|
||||
STAT_TIC_DELTA_STOLEN, // sl_int "
|
||||
STAT_TIC_DELTA_GUEST, // sl_int "
|
||||
STAT_TIC_DELTA_GUEST_NICE, // sl_int "
|
||||
|
||||
STAT_TIC_DELTA_USER, // sl_int
|
||||
STAT_TIC_DELTA_NICE, // sl_int
|
||||
STAT_TIC_DELTA_SYSTEM, // sl_int
|
||||
STAT_TIC_DELTA_IDLE, // sl_int
|
||||
STAT_TIC_DELTA_IOWAIT, // sl_int
|
||||
STAT_TIC_DELTA_IRQ, // sl_int
|
||||
STAT_TIC_DELTA_SOFTIRQ, // sl_int
|
||||
STAT_TIC_DELTA_STOLEN, // sl_int
|
||||
STAT_TIC_DELTA_GUEST, // sl_int
|
||||
STAT_TIC_DELTA_GUEST_NICE, // sl_int
|
||||
STAT_TIC_DELTA_SUM_TOTAL, // sl_int "
|
||||
STAT_TIC_DELTA_SUM_BUSY, // sl_int "
|
||||
STAT_TIC_DELTA_SUM_IDLE, // sl_int "
|
||||
STAT_TIC_DELTA_SUM_USER, // sl_int "
|
||||
STAT_TIC_DELTA_SUM_SYSTEM, // sl_int "
|
||||
|
||||
STAT_TIC_DELTA_SUM_TOTAL, // sl_int
|
||||
STAT_TIC_DELTA_SUM_BUSY, // sl_int
|
||||
STAT_TIC_DELTA_SUM_IDLE, // sl_int
|
||||
STAT_TIC_DELTA_SUM_USER, // sl_int
|
||||
STAT_TIC_DELTA_SUM_SYSTEM, // sl_int
|
||||
STAT_SYS_CTX_SWITCHES, // ul_int /proc/stat
|
||||
STAT_SYS_INTERRUPTS, // ul_int "
|
||||
STAT_SYS_PROC_BLOCKED, // ul_int "
|
||||
STAT_SYS_PROC_CREATED, // ul_int "
|
||||
STAT_SYS_PROC_RUNNING, // ul_int "
|
||||
STAT_SYS_TIME_OF_BOOT, // ul_int "
|
||||
|
||||
STAT_SYS_CTX_SWITCHES, // ul_int
|
||||
STAT_SYS_INTERRUPTS, // ul_int
|
||||
STAT_SYS_PROC_BLOCKED, // ul_int
|
||||
STAT_SYS_PROC_CREATED, // ul_int
|
||||
STAT_SYS_PROC_RUNNING, // ul_int
|
||||
STAT_SYS_TIME_OF_BOOT, // ul_int
|
||||
|
||||
STAT_SYS_DELTA_CTX_SWITCHES, // s_int
|
||||
STAT_SYS_DELTA_INTERRUPTS, // s_int
|
||||
STAT_SYS_DELTA_PROC_BLOCKED, // s_int
|
||||
STAT_SYS_DELTA_PROC_CREATED, // s_int
|
||||
STAT_SYS_DELTA_PROC_RUNNING // s_int
|
||||
STAT_SYS_DELTA_CTX_SWITCHES, // s_int dervied from above
|
||||
STAT_SYS_DELTA_INTERRUPTS, // s_int "
|
||||
STAT_SYS_DELTA_PROC_BLOCKED, // s_int "
|
||||
STAT_SYS_DELTA_PROC_CREATED, // s_int "
|
||||
STAT_SYS_DELTA_PROC_RUNNING // s_int "
|
||||
};
|
||||
|
||||
enum stat_reap_type {
|
||||
|
475
proc/vmstat.h
475
proc/vmstat.h
@ -31,244 +31,245 @@ extern "C" {
|
||||
enum vmstat_item {
|
||||
VMSTAT_noop, // ( never altered )
|
||||
VMSTAT_extra, // ( reset to zero )
|
||||
// returns origin, see proc(5)
|
||||
// ------- -------------------
|
||||
VMSTAT_ALLOCSTALL, // ul_int /proc/vmstat
|
||||
VMSTAT_BALLOON_DEFLATE, // ul_int "
|
||||
VMSTAT_BALLOON_INFLATE, // ul_int "
|
||||
VMSTAT_BALLOON_MIGRATE, // ul_int "
|
||||
VMSTAT_COMPACT_FAIL, // ul_int "
|
||||
VMSTAT_COMPACT_FREE_SCANNED, // ul_int "
|
||||
VMSTAT_COMPACT_ISOLATED, // ul_int "
|
||||
VMSTAT_COMPACT_MIGRATE_SCANNED, // ul_int "
|
||||
VMSTAT_COMPACT_STALL, // ul_int "
|
||||
VMSTAT_COMPACT_SUCCESS, // ul_int "
|
||||
VMSTAT_DROP_PAGECACHE, // ul_int "
|
||||
VMSTAT_DROP_SLAB, // ul_int "
|
||||
VMSTAT_HTLB_BUDDY_ALLOC_FAIL, // ul_int "
|
||||
VMSTAT_HTLB_BUDDY_ALLOC_SUCCESS, // ul_int "
|
||||
VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY, // ul_int "
|
||||
VMSTAT_KSWAPD_INODESTEAL, // ul_int "
|
||||
VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY, // ul_int "
|
||||
VMSTAT_NR_ACTIVE_ANON, // ul_int "
|
||||
VMSTAT_NR_ACTIVE_FILE, // ul_int "
|
||||
VMSTAT_NR_ALLOC_BATCH, // ul_int "
|
||||
VMSTAT_NR_ANON_PAGES, // ul_int "
|
||||
VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES, // ul_int "
|
||||
VMSTAT_NR_BOUNCE, // ul_int "
|
||||
VMSTAT_NR_DIRTIED, // ul_int "
|
||||
VMSTAT_NR_DIRTY, // ul_int "
|
||||
VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD, // ul_int "
|
||||
VMSTAT_NR_DIRTY_THRESHOLD, // ul_int "
|
||||
VMSTAT_NR_FILE_PAGES, // ul_int "
|
||||
VMSTAT_NR_FREE_CMA, // ul_int "
|
||||
VMSTAT_NR_FREE_PAGES, // ul_int "
|
||||
VMSTAT_NR_INACTIVE_ANON, // ul_int "
|
||||
VMSTAT_NR_INACTIVE_FILE, // ul_int "
|
||||
VMSTAT_NR_ISOLATED_ANON, // ul_int "
|
||||
VMSTAT_NR_ISOLATED_FILE, // ul_int "
|
||||
VMSTAT_NR_KERNEL_STACK, // ul_int "
|
||||
VMSTAT_NR_MAPPED, // ul_int "
|
||||
VMSTAT_NR_MLOCK, // ul_int "
|
||||
VMSTAT_NR_PAGES_SCANNED, // ul_int "
|
||||
VMSTAT_NR_PAGE_TABLE_PAGES, // ul_int "
|
||||
VMSTAT_NR_SHMEM, // ul_int "
|
||||
VMSTAT_NR_SLAB_RECLAIMABLE, // ul_int "
|
||||
VMSTAT_NR_SLAB_UNRECLAIMABLE, // ul_int "
|
||||
VMSTAT_NR_UNEVICTABLE, // ul_int "
|
||||
VMSTAT_NR_UNSTABLE, // ul_int "
|
||||
VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM, // ul_int "
|
||||
VMSTAT_NR_VMSCAN_WRITE, // ul_int "
|
||||
VMSTAT_NR_WRITEBACK, // ul_int "
|
||||
VMSTAT_NR_WRITEBACK_TEMP, // ul_int "
|
||||
VMSTAT_NR_WRITTEN, // ul_int "
|
||||
VMSTAT_NUMA_FOREIGN, // ul_int "
|
||||
VMSTAT_NUMA_HINT_FAULTS, // ul_int "
|
||||
VMSTAT_NUMA_HINT_FAULTS_LOCAL, // ul_int "
|
||||
VMSTAT_NUMA_HIT, // ul_int "
|
||||
VMSTAT_NUMA_HUGE_PTE_UPDATES, // ul_int "
|
||||
VMSTAT_NUMA_INTERLEAVE, // ul_int "
|
||||
VMSTAT_NUMA_LOCAL, // ul_int "
|
||||
VMSTAT_NUMA_MISS, // ul_int "
|
||||
VMSTAT_NUMA_OTHER, // ul_int "
|
||||
VMSTAT_NUMA_PAGES_MIGRATED, // ul_int "
|
||||
VMSTAT_NUMA_PTE_UPDATES, // ul_int "
|
||||
VMSTAT_PAGEOUTRUN, // ul_int "
|
||||
VMSTAT_PGACTIVATE, // ul_int "
|
||||
VMSTAT_PGALLOC_DMA, // ul_int "
|
||||
VMSTAT_PGALLOC_DMA32, // ul_int "
|
||||
VMSTAT_PGALLOC_MOVABLE, // ul_int "
|
||||
VMSTAT_PGALLOC_NORMAL, // ul_int "
|
||||
VMSTAT_PGDEACTIVATE, // ul_int "
|
||||
VMSTAT_PGFAULT, // ul_int "
|
||||
VMSTAT_PGFREE, // ul_int "
|
||||
VMSTAT_PGINODESTEAL, // ul_int "
|
||||
VMSTAT_PGMAJFAULT, // ul_int "
|
||||
VMSTAT_PGMIGRATE_FAIL, // ul_int "
|
||||
VMSTAT_PGMIGRATE_SUCCESS, // ul_int "
|
||||
VMSTAT_PGPGIN, // ul_int "
|
||||
VMSTAT_PGPGOUT, // ul_int "
|
||||
VMSTAT_PGREFILL_DMA, // ul_int "
|
||||
VMSTAT_PGREFILL_DMA32, // ul_int "
|
||||
VMSTAT_PGREFILL_MOVABLE, // ul_int "
|
||||
VMSTAT_PGREFILL_NORMAL, // ul_int "
|
||||
VMSTAT_PGROTATED, // ul_int "
|
||||
VMSTAT_PGSCAN_DIRECT_DMA, // ul_int "
|
||||
VMSTAT_PGSCAN_DIRECT_DMA32, // ul_int "
|
||||
VMSTAT_PGSCAN_DIRECT_MOVABLE, // ul_int "
|
||||
VMSTAT_PGSCAN_DIRECT_NORMAL, // ul_int "
|
||||
VMSTAT_PGSCAN_DIRECT_THROTTLE, // ul_int "
|
||||
VMSTAT_PGSCAN_KSWAPD_DMA, // ul_int "
|
||||
VMSTAT_PGSCAN_KSWAPD_DMA32, // ul_int "
|
||||
VMSTAT_PGSCAN_KSWAPD_MOVEABLE, // ul_int "
|
||||
VMSTAT_PGSCAN_KSWAPD_NORMAL, // ul_int "
|
||||
VMSTAT_PGSTEAL_DIRECT_DMA, // ul_int "
|
||||
VMSTAT_PGSTEAL_DIRECT_DMA32, // ul_int "
|
||||
VMSTAT_PGSTEAL_DIRECT_MOVABLE, // ul_int "
|
||||
VMSTAT_PGSTEAL_DIRECT_NORMAL, // ul_int "
|
||||
VMSTAT_PGSTEAL_KSWAPD_DMA, // ul_int "
|
||||
VMSTAT_PGSTEAL_KSWAPD_DMA32, // ul_int "
|
||||
VMSTAT_PGSTEAL_KSWAPD_MOVABLE, // ul_int "
|
||||
VMSTAT_PGSTEAL_KSWAPD_NORMAL, // ul_int "
|
||||
VMSTAT_PSWPIN, // ul_int "
|
||||
VMSTAT_PSWPOUT, // ul_int "
|
||||
VMSTAT_SLABS_SCANNED, // ul_int "
|
||||
VMSTAT_THP_COLLAPSE_ALLOC, // ul_int "
|
||||
VMSTAT_THP_COLLAPSE_ALLOC_FAILED, // ul_int "
|
||||
VMSTAT_THP_FAULT_ALLOC, // ul_int "
|
||||
VMSTAT_THP_FAULT_FALLBACK, // ul_int "
|
||||
VMSTAT_THP_SPLIT, // ul_int "
|
||||
VMSTAT_THP_ZERO_PAGE_ALLOC, // ul_int "
|
||||
VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED, // ul_int "
|
||||
VMSTAT_UNEVICTABLE_PGS_CLEARED, // ul_int "
|
||||
VMSTAT_UNEVICTABLE_PGS_CULLED, // ul_int "
|
||||
VMSTAT_UNEVICTABLE_PGS_MLOCKED, // ul_int "
|
||||
VMSTAT_UNEVICTABLE_PGS_MUNLOCKED, // ul_int "
|
||||
VMSTAT_UNEVICTABLE_PGS_RESCUED, // ul_int "
|
||||
VMSTAT_UNEVICTABLE_PGS_SCANNED, // ul_int "
|
||||
VMSTAT_UNEVICTABLE_PGS_STRANDED, // ul_int "
|
||||
VMSTAT_WORKINGSET_ACTIVATE, // ul_int "
|
||||
VMSTAT_WORKINGSET_NODERECLAIM, // ul_int "
|
||||
VMSTAT_WORKINGSET_REFAULT, // ul_int "
|
||||
VMSTAT_ZONE_RECLAIM_FAILED, // ul_int "
|
||||
|
||||
VMSTAT_ALLOCSTALL, // ul_int
|
||||
VMSTAT_BALLOON_DEFLATE, // ul_int
|
||||
VMSTAT_BALLOON_INFLATE, // ul_int
|
||||
VMSTAT_BALLOON_MIGRATE, // ul_int
|
||||
VMSTAT_COMPACT_FAIL, // ul_int
|
||||
VMSTAT_COMPACT_FREE_SCANNED, // ul_int
|
||||
VMSTAT_COMPACT_ISOLATED, // ul_int
|
||||
VMSTAT_COMPACT_MIGRATE_SCANNED, // ul_int
|
||||
VMSTAT_COMPACT_STALL, // ul_int
|
||||
VMSTAT_COMPACT_SUCCESS, // ul_int
|
||||
VMSTAT_DROP_PAGECACHE, // ul_int
|
||||
VMSTAT_DROP_SLAB, // ul_int
|
||||
VMSTAT_HTLB_BUDDY_ALLOC_FAIL, // ul_int
|
||||
VMSTAT_HTLB_BUDDY_ALLOC_SUCCESS, // ul_int
|
||||
VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY, // ul_int
|
||||
VMSTAT_KSWAPD_INODESTEAL, // ul_int
|
||||
VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY, // ul_int
|
||||
VMSTAT_NR_ACTIVE_ANON, // ul_int
|
||||
VMSTAT_NR_ACTIVE_FILE, // ul_int
|
||||
VMSTAT_NR_ALLOC_BATCH, // ul_int
|
||||
VMSTAT_NR_ANON_PAGES, // ul_int
|
||||
VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES, // ul_int
|
||||
VMSTAT_NR_BOUNCE, // ul_int
|
||||
VMSTAT_NR_DIRTIED, // ul_int
|
||||
VMSTAT_NR_DIRTY, // ul_int
|
||||
VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD, // ul_int
|
||||
VMSTAT_NR_DIRTY_THRESHOLD, // ul_int
|
||||
VMSTAT_NR_FILE_PAGES, // ul_int
|
||||
VMSTAT_NR_FREE_CMA, // ul_int
|
||||
VMSTAT_NR_FREE_PAGES, // ul_int
|
||||
VMSTAT_NR_INACTIVE_ANON, // ul_int
|
||||
VMSTAT_NR_INACTIVE_FILE, // ul_int
|
||||
VMSTAT_NR_ISOLATED_ANON, // ul_int
|
||||
VMSTAT_NR_ISOLATED_FILE, // ul_int
|
||||
VMSTAT_NR_KERNEL_STACK, // ul_int
|
||||
VMSTAT_NR_MAPPED, // ul_int
|
||||
VMSTAT_NR_MLOCK, // ul_int
|
||||
VMSTAT_NR_PAGES_SCANNED, // ul_int
|
||||
VMSTAT_NR_PAGE_TABLE_PAGES, // ul_int
|
||||
VMSTAT_NR_SHMEM, // ul_int
|
||||
VMSTAT_NR_SLAB_RECLAIMABLE, // ul_int
|
||||
VMSTAT_NR_SLAB_UNRECLAIMABLE, // ul_int
|
||||
VMSTAT_NR_UNEVICTABLE, // ul_int
|
||||
VMSTAT_NR_UNSTABLE, // ul_int
|
||||
VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM, // ul_int
|
||||
VMSTAT_NR_VMSCAN_WRITE, // ul_int
|
||||
VMSTAT_NR_WRITEBACK, // ul_int
|
||||
VMSTAT_NR_WRITEBACK_TEMP, // ul_int
|
||||
VMSTAT_NR_WRITTEN, // ul_int
|
||||
VMSTAT_NUMA_FOREIGN, // ul_int
|
||||
VMSTAT_NUMA_HINT_FAULTS, // ul_int
|
||||
VMSTAT_NUMA_HINT_FAULTS_LOCAL, // ul_int
|
||||
VMSTAT_NUMA_HIT, // ul_int
|
||||
VMSTAT_NUMA_HUGE_PTE_UPDATES, // ul_int
|
||||
VMSTAT_NUMA_INTERLEAVE, // ul_int
|
||||
VMSTAT_NUMA_LOCAL, // ul_int
|
||||
VMSTAT_NUMA_MISS, // ul_int
|
||||
VMSTAT_NUMA_OTHER, // ul_int
|
||||
VMSTAT_NUMA_PAGES_MIGRATED, // ul_int
|
||||
VMSTAT_NUMA_PTE_UPDATES, // ul_int
|
||||
VMSTAT_PAGEOUTRUN, // ul_int
|
||||
VMSTAT_PGACTIVATE, // ul_int
|
||||
VMSTAT_PGALLOC_DMA, // ul_int
|
||||
VMSTAT_PGALLOC_DMA32, // ul_int
|
||||
VMSTAT_PGALLOC_MOVABLE, // ul_int
|
||||
VMSTAT_PGALLOC_NORMAL, // ul_int
|
||||
VMSTAT_PGDEACTIVATE, // ul_int
|
||||
VMSTAT_PGFAULT, // ul_int
|
||||
VMSTAT_PGFREE, // ul_int
|
||||
VMSTAT_PGINODESTEAL, // ul_int
|
||||
VMSTAT_PGMAJFAULT, // ul_int
|
||||
VMSTAT_PGMIGRATE_FAIL, // ul_int
|
||||
VMSTAT_PGMIGRATE_SUCCESS, // ul_int
|
||||
VMSTAT_PGPGIN, // ul_int
|
||||
VMSTAT_PGPGOUT, // ul_int
|
||||
VMSTAT_PGREFILL_DMA, // ul_int
|
||||
VMSTAT_PGREFILL_DMA32, // ul_int
|
||||
VMSTAT_PGREFILL_MOVABLE, // ul_int
|
||||
VMSTAT_PGREFILL_NORMAL, // ul_int
|
||||
VMSTAT_PGROTATED, // ul_int
|
||||
VMSTAT_PGSCAN_DIRECT_DMA, // ul_int
|
||||
VMSTAT_PGSCAN_DIRECT_DMA32, // ul_int
|
||||
VMSTAT_PGSCAN_DIRECT_MOVABLE, // ul_int
|
||||
VMSTAT_PGSCAN_DIRECT_NORMAL, // ul_int
|
||||
VMSTAT_PGSCAN_DIRECT_THROTTLE, // ul_int
|
||||
VMSTAT_PGSCAN_KSWAPD_DMA, // ul_int
|
||||
VMSTAT_PGSCAN_KSWAPD_DMA32, // ul_int
|
||||
VMSTAT_PGSCAN_KSWAPD_MOVEABLE, // ul_int
|
||||
VMSTAT_PGSCAN_KSWAPD_NORMAL, // ul_int
|
||||
VMSTAT_PGSTEAL_DIRECT_DMA, // ul_int
|
||||
VMSTAT_PGSTEAL_DIRECT_DMA32, // ul_int
|
||||
VMSTAT_PGSTEAL_DIRECT_MOVABLE, // ul_int
|
||||
VMSTAT_PGSTEAL_DIRECT_NORMAL, // ul_int
|
||||
VMSTAT_PGSTEAL_KSWAPD_DMA, // ul_int
|
||||
VMSTAT_PGSTEAL_KSWAPD_DMA32, // ul_int
|
||||
VMSTAT_PGSTEAL_KSWAPD_MOVABLE, // ul_int
|
||||
VMSTAT_PGSTEAL_KSWAPD_NORMAL, // ul_int
|
||||
VMSTAT_PSWPIN, // ul_int
|
||||
VMSTAT_PSWPOUT, // ul_int
|
||||
VMSTAT_SLABS_SCANNED, // ul_int
|
||||
VMSTAT_THP_COLLAPSE_ALLOC, // ul_int
|
||||
VMSTAT_THP_COLLAPSE_ALLOC_FAILED, // ul_int
|
||||
VMSTAT_THP_FAULT_ALLOC, // ul_int
|
||||
VMSTAT_THP_FAULT_FALLBACK, // ul_int
|
||||
VMSTAT_THP_SPLIT, // ul_int
|
||||
VMSTAT_THP_ZERO_PAGE_ALLOC, // ul_int
|
||||
VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED, // ul_int
|
||||
VMSTAT_UNEVICTABLE_PGS_CLEARED, // ul_int
|
||||
VMSTAT_UNEVICTABLE_PGS_CULLED, // ul_int
|
||||
VMSTAT_UNEVICTABLE_PGS_MLOCKED, // ul_int
|
||||
VMSTAT_UNEVICTABLE_PGS_MUNLOCKED, // ul_int
|
||||
VMSTAT_UNEVICTABLE_PGS_RESCUED, // ul_int
|
||||
VMSTAT_UNEVICTABLE_PGS_SCANNED, // ul_int
|
||||
VMSTAT_UNEVICTABLE_PGS_STRANDED, // ul_int
|
||||
VMSTAT_WORKINGSET_ACTIVATE, // ul_int
|
||||
VMSTAT_WORKINGSET_NODERECLAIM, // ul_int
|
||||
VMSTAT_WORKINGSET_REFAULT, // ul_int
|
||||
VMSTAT_ZONE_RECLAIM_FAILED, // ul_int
|
||||
|
||||
VMSTAT_DELTA_ALLOCSTALL, // sl_int
|
||||
VMSTAT_DELTA_BALLOON_DEFLATE, // sl_int
|
||||
VMSTAT_DELTA_BALLOON_INFLATE, // sl_int
|
||||
VMSTAT_DELTA_BALLOON_MIGRATE, // sl_int
|
||||
VMSTAT_DELTA_COMPACT_FAIL, // sl_int
|
||||
VMSTAT_DELTA_COMPACT_FREE_SCANNED, // sl_int
|
||||
VMSTAT_DELTA_COMPACT_ISOLATED, // sl_int
|
||||
VMSTAT_DELTA_COMPACT_MIGRATE_SCANNED, // sl_int
|
||||
VMSTAT_DELTA_COMPACT_STALL, // sl_int
|
||||
VMSTAT_DELTA_COMPACT_SUCCESS, // sl_int
|
||||
VMSTAT_DELTA_DROP_PAGECACHE, // sl_int
|
||||
VMSTAT_DELTA_DROP_SLAB, // sl_int
|
||||
VMSTAT_DELTA_HTLB_BUDDY_ALLOC_FAIL, // sl_int
|
||||
VMSTAT_DELTA_HTLB_BUDDY_ALLOC_SUCCESS, // sl_int
|
||||
VMSTAT_DELTA_KSWAPD_HIGH_WMARK_HIT_QUICKLY, // sl_int
|
||||
VMSTAT_DELTA_KSWAPD_INODESTEAL, // sl_int
|
||||
VMSTAT_DELTA_KSWAPD_LOW_WMARK_HIT_QUICKLY, // sl_int
|
||||
VMSTAT_DELTA_NR_ACTIVE_ANON, // sl_int
|
||||
VMSTAT_DELTA_NR_ACTIVE_FILE, // sl_int
|
||||
VMSTAT_DELTA_NR_ALLOC_BATCH, // sl_int
|
||||
VMSTAT_DELTA_NR_ANON_PAGES, // sl_int
|
||||
VMSTAT_DELTA_NR_ANON_TRANSPARENT_HUGEPAGES, // sl_int
|
||||
VMSTAT_DELTA_NR_BOUNCE, // sl_int
|
||||
VMSTAT_DELTA_NR_DIRTIED, // sl_int
|
||||
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_PAGES, // sl_int
|
||||
VMSTAT_DELTA_NR_FREE_CMA, // sl_int
|
||||
VMSTAT_DELTA_NR_FREE_PAGES, // sl_int
|
||||
VMSTAT_DELTA_NR_INACTIVE_ANON, // sl_int
|
||||
VMSTAT_DELTA_NR_INACTIVE_FILE, // sl_int
|
||||
VMSTAT_DELTA_NR_ISOLATED_ANON, // sl_int
|
||||
VMSTAT_DELTA_NR_ISOLATED_FILE, // sl_int
|
||||
VMSTAT_DELTA_NR_KERNEL_STACK, // sl_int
|
||||
VMSTAT_DELTA_NR_MAPPED, // sl_int
|
||||
VMSTAT_DELTA_NR_MLOCK, // sl_int
|
||||
VMSTAT_DELTA_NR_PAGES_SCANNED, // sl_int
|
||||
VMSTAT_DELTA_NR_PAGE_TABLE_PAGES, // sl_int
|
||||
VMSTAT_DELTA_NR_SHMEM, // sl_int
|
||||
VMSTAT_DELTA_NR_SLAB_RECLAIMABLE, // sl_int
|
||||
VMSTAT_DELTA_NR_SLAB_UNRECLAIMABLE, // sl_int
|
||||
VMSTAT_DELTA_NR_UNEVICTABLE, // sl_int
|
||||
VMSTAT_DELTA_NR_UNSTABLE, // sl_int
|
||||
VMSTAT_DELTA_NR_VMSCAN_IMMEDIATE_RECLAIM, // sl_int
|
||||
VMSTAT_DELTA_NR_VMSCAN_WRITE, // sl_int
|
||||
VMSTAT_DELTA_NR_WRITEBACK, // sl_int
|
||||
VMSTAT_DELTA_NR_WRITEBACK_TEMP, // sl_int
|
||||
VMSTAT_DELTA_NR_WRITTEN, // sl_int
|
||||
VMSTAT_DELTA_NUMA_FOREIGN, // sl_int
|
||||
VMSTAT_DELTA_NUMA_HINT_FAULTS, // sl_int
|
||||
VMSTAT_DELTA_NUMA_HINT_FAULTS_LOCAL, // sl_int
|
||||
VMSTAT_DELTA_NUMA_HIT, // sl_int
|
||||
VMSTAT_DELTA_NUMA_HUGE_PTE_UPDATES, // sl_int
|
||||
VMSTAT_DELTA_NUMA_INTERLEAVE, // sl_int
|
||||
VMSTAT_DELTA_NUMA_LOCAL, // sl_int
|
||||
VMSTAT_DELTA_NUMA_MISS, // sl_int
|
||||
VMSTAT_DELTA_NUMA_OTHER, // sl_int
|
||||
VMSTAT_DELTA_NUMA_PAGES_MIGRATED, // sl_int
|
||||
VMSTAT_DELTA_NUMA_PTE_UPDATES, // sl_int
|
||||
VMSTAT_DELTA_PAGEOUTRUN, // sl_int
|
||||
VMSTAT_DELTA_PGACTIVATE, // sl_int
|
||||
VMSTAT_DELTA_PGALLOC_DMA, // sl_int
|
||||
VMSTAT_DELTA_PGALLOC_DMA32, // sl_int
|
||||
VMSTAT_DELTA_PGALLOC_MOVABLE, // sl_int
|
||||
VMSTAT_DELTA_PGALLOC_NORMAL, // sl_int
|
||||
VMSTAT_DELTA_PGDEACTIVATE, // sl_int
|
||||
VMSTAT_DELTA_PGFAULT, // sl_int
|
||||
VMSTAT_DELTA_PGFREE, // sl_int
|
||||
VMSTAT_DELTA_PGINODESTEAL, // sl_int
|
||||
VMSTAT_DELTA_PGMAJFAULT, // sl_int
|
||||
VMSTAT_DELTA_PGMIGRATE_FAIL, // sl_int
|
||||
VMSTAT_DELTA_PGMIGRATE_SUCCESS, // sl_int
|
||||
VMSTAT_DELTA_PGPGIN, // sl_int
|
||||
VMSTAT_DELTA_PGPGOUT, // sl_int
|
||||
VMSTAT_DELTA_PGREFILL_DMA, // sl_int
|
||||
VMSTAT_DELTA_PGREFILL_DMA32, // sl_int
|
||||
VMSTAT_DELTA_PGREFILL_MOVABLE, // sl_int
|
||||
VMSTAT_DELTA_PGREFILL_NORMAL, // sl_int
|
||||
VMSTAT_DELTA_PGROTATED, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_DMA, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_DMA32, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_MOVABLE, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_NORMAL, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_THROTTLE, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_DMA, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_DMA32, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_MOVEABLE, // sl_int
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_NORMAL, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_DMA, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_DMA32, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_MOVABLE, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_NORMAL, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_DMA, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_DMA32, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_MOVABLE, // sl_int
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_NORMAL, // sl_int
|
||||
VMSTAT_DELTA_PSWPIN, // sl_int
|
||||
VMSTAT_DELTA_PSWPOUT, // sl_int
|
||||
VMSTAT_DELTA_SLABS_SCANNED, // sl_int
|
||||
VMSTAT_DELTA_THP_COLLAPSE_ALLOC, // sl_int
|
||||
VMSTAT_DELTA_THP_COLLAPSE_ALLOC_FAILED, // sl_int
|
||||
VMSTAT_DELTA_THP_FAULT_ALLOC, // sl_int
|
||||
VMSTAT_DELTA_THP_FAULT_FALLBACK, // sl_int
|
||||
VMSTAT_DELTA_THP_SPLIT, // sl_int
|
||||
VMSTAT_DELTA_THP_ZERO_PAGE_ALLOC, // sl_int
|
||||
VMSTAT_DELTA_THP_ZERO_PAGE_ALLOC_FAILED, // sl_int
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_CLEARED, // sl_int
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_CULLED, // sl_int
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_MLOCKED, // sl_int
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_MUNLOCKED, // sl_int
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_RESCUED, // sl_int
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_SCANNED, // sl_int
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_STRANDED, // sl_int
|
||||
VMSTAT_DELTA_WORKINGSET_ACTIVATE, // sl_int
|
||||
VMSTAT_DELTA_WORKINGSET_NODERECLAIM, // sl_int
|
||||
VMSTAT_DELTA_WORKINGSET_REFAULT, // sl_int
|
||||
VMSTAT_DELTA_ZONE_RECLAIM_FAILED // sl_int
|
||||
VMSTAT_DELTA_ALLOCSTALL, // sl_int dervied from above
|
||||
VMSTAT_DELTA_BALLOON_DEFLATE, // sl_int "
|
||||
VMSTAT_DELTA_BALLOON_INFLATE, // sl_int "
|
||||
VMSTAT_DELTA_BALLOON_MIGRATE, // sl_int "
|
||||
VMSTAT_DELTA_COMPACT_FAIL, // sl_int "
|
||||
VMSTAT_DELTA_COMPACT_FREE_SCANNED, // sl_int "
|
||||
VMSTAT_DELTA_COMPACT_ISOLATED, // sl_int "
|
||||
VMSTAT_DELTA_COMPACT_MIGRATE_SCANNED, // sl_int "
|
||||
VMSTAT_DELTA_COMPACT_STALL, // sl_int "
|
||||
VMSTAT_DELTA_COMPACT_SUCCESS, // sl_int "
|
||||
VMSTAT_DELTA_DROP_PAGECACHE, // sl_int "
|
||||
VMSTAT_DELTA_DROP_SLAB, // sl_int "
|
||||
VMSTAT_DELTA_HTLB_BUDDY_ALLOC_FAIL, // sl_int "
|
||||
VMSTAT_DELTA_HTLB_BUDDY_ALLOC_SUCCESS, // sl_int "
|
||||
VMSTAT_DELTA_KSWAPD_HIGH_WMARK_HIT_QUICKLY, // sl_int "
|
||||
VMSTAT_DELTA_KSWAPD_INODESTEAL, // sl_int "
|
||||
VMSTAT_DELTA_KSWAPD_LOW_WMARK_HIT_QUICKLY, // sl_int "
|
||||
VMSTAT_DELTA_NR_ACTIVE_ANON, // sl_int "
|
||||
VMSTAT_DELTA_NR_ACTIVE_FILE, // sl_int "
|
||||
VMSTAT_DELTA_NR_ALLOC_BATCH, // sl_int "
|
||||
VMSTAT_DELTA_NR_ANON_PAGES, // sl_int "
|
||||
VMSTAT_DELTA_NR_ANON_TRANSPARENT_HUGEPAGES, // sl_int "
|
||||
VMSTAT_DELTA_NR_BOUNCE, // sl_int "
|
||||
VMSTAT_DELTA_NR_DIRTIED, // sl_int "
|
||||
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_PAGES, // sl_int "
|
||||
VMSTAT_DELTA_NR_FREE_CMA, // sl_int "
|
||||
VMSTAT_DELTA_NR_FREE_PAGES, // sl_int "
|
||||
VMSTAT_DELTA_NR_INACTIVE_ANON, // sl_int "
|
||||
VMSTAT_DELTA_NR_INACTIVE_FILE, // sl_int "
|
||||
VMSTAT_DELTA_NR_ISOLATED_ANON, // sl_int "
|
||||
VMSTAT_DELTA_NR_ISOLATED_FILE, // sl_int "
|
||||
VMSTAT_DELTA_NR_KERNEL_STACK, // sl_int "
|
||||
VMSTAT_DELTA_NR_MAPPED, // sl_int "
|
||||
VMSTAT_DELTA_NR_MLOCK, // sl_int "
|
||||
VMSTAT_DELTA_NR_PAGES_SCANNED, // sl_int "
|
||||
VMSTAT_DELTA_NR_PAGE_TABLE_PAGES, // sl_int "
|
||||
VMSTAT_DELTA_NR_SHMEM, // sl_int "
|
||||
VMSTAT_DELTA_NR_SLAB_RECLAIMABLE, // sl_int "
|
||||
VMSTAT_DELTA_NR_SLAB_UNRECLAIMABLE, // sl_int "
|
||||
VMSTAT_DELTA_NR_UNEVICTABLE, // sl_int "
|
||||
VMSTAT_DELTA_NR_UNSTABLE, // sl_int "
|
||||
VMSTAT_DELTA_NR_VMSCAN_IMMEDIATE_RECLAIM, // sl_int "
|
||||
VMSTAT_DELTA_NR_VMSCAN_WRITE, // sl_int "
|
||||
VMSTAT_DELTA_NR_WRITEBACK, // sl_int "
|
||||
VMSTAT_DELTA_NR_WRITEBACK_TEMP, // sl_int "
|
||||
VMSTAT_DELTA_NR_WRITTEN, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_FOREIGN, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_HINT_FAULTS, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_HINT_FAULTS_LOCAL, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_HIT, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_HUGE_PTE_UPDATES, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_INTERLEAVE, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_LOCAL, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_MISS, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_OTHER, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_PAGES_MIGRATED, // sl_int "
|
||||
VMSTAT_DELTA_NUMA_PTE_UPDATES, // sl_int "
|
||||
VMSTAT_DELTA_PAGEOUTRUN, // sl_int "
|
||||
VMSTAT_DELTA_PGACTIVATE, // sl_int "
|
||||
VMSTAT_DELTA_PGALLOC_DMA, // sl_int "
|
||||
VMSTAT_DELTA_PGALLOC_DMA32, // sl_int "
|
||||
VMSTAT_DELTA_PGALLOC_MOVABLE, // sl_int "
|
||||
VMSTAT_DELTA_PGALLOC_NORMAL, // sl_int "
|
||||
VMSTAT_DELTA_PGDEACTIVATE, // sl_int "
|
||||
VMSTAT_DELTA_PGFAULT, // sl_int "
|
||||
VMSTAT_DELTA_PGFREE, // sl_int "
|
||||
VMSTAT_DELTA_PGINODESTEAL, // sl_int "
|
||||
VMSTAT_DELTA_PGMAJFAULT, // sl_int "
|
||||
VMSTAT_DELTA_PGMIGRATE_FAIL, // sl_int "
|
||||
VMSTAT_DELTA_PGMIGRATE_SUCCESS, // sl_int "
|
||||
VMSTAT_DELTA_PGPGIN, // sl_int "
|
||||
VMSTAT_DELTA_PGPGOUT, // sl_int "
|
||||
VMSTAT_DELTA_PGREFILL_DMA, // sl_int "
|
||||
VMSTAT_DELTA_PGREFILL_DMA32, // sl_int "
|
||||
VMSTAT_DELTA_PGREFILL_MOVABLE, // sl_int "
|
||||
VMSTAT_DELTA_PGREFILL_NORMAL, // sl_int "
|
||||
VMSTAT_DELTA_PGROTATED, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_DMA, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_DMA32, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_MOVABLE, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_NORMAL, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_DIRECT_THROTTLE, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_DMA, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_DMA32, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_MOVEABLE, // sl_int "
|
||||
VMSTAT_DELTA_PGSCAN_KSWAPD_NORMAL, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_DMA, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_DMA32, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_MOVABLE, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_DIRECT_NORMAL, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_DMA, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_DMA32, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_MOVABLE, // sl_int "
|
||||
VMSTAT_DELTA_PGSTEAL_KSWAPD_NORMAL, // sl_int "
|
||||
VMSTAT_DELTA_PSWPIN, // sl_int "
|
||||
VMSTAT_DELTA_PSWPOUT, // sl_int "
|
||||
VMSTAT_DELTA_SLABS_SCANNED, // sl_int "
|
||||
VMSTAT_DELTA_THP_COLLAPSE_ALLOC, // sl_int "
|
||||
VMSTAT_DELTA_THP_COLLAPSE_ALLOC_FAILED, // sl_int "
|
||||
VMSTAT_DELTA_THP_FAULT_ALLOC, // sl_int "
|
||||
VMSTAT_DELTA_THP_FAULT_FALLBACK, // sl_int "
|
||||
VMSTAT_DELTA_THP_SPLIT, // sl_int "
|
||||
VMSTAT_DELTA_THP_ZERO_PAGE_ALLOC, // sl_int "
|
||||
VMSTAT_DELTA_THP_ZERO_PAGE_ALLOC_FAILED, // sl_int "
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_CLEARED, // sl_int "
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_CULLED, // sl_int "
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_MLOCKED, // sl_int "
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_MUNLOCKED, // sl_int "
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_RESCUED, // sl_int "
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_SCANNED, // sl_int "
|
||||
VMSTAT_DELTA_UNEVICTABLE_PGS_STRANDED, // sl_int "
|
||||
VMSTAT_DELTA_WORKINGSET_ACTIVATE, // sl_int "
|
||||
VMSTAT_DELTA_WORKINGSET_NODERECLAIM, // sl_int "
|
||||
VMSTAT_DELTA_WORKINGSET_REFAULT, // sl_int "
|
||||
VMSTAT_DELTA_ZONE_RECLAIM_FAILED // sl_int "
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user