procps/proc/libprocps.sym
Jim Warner ecd64f4445 library: normalize/standardize an i/f, <DISKSTATS> api
This patch will bring this interface up to our 3rd gen
standards. The following summarizes the major changes.

* New delta provisions have been added to most fields.

There are, of course, some fields for which a delta is
inappropriate. They include the identifying items such
as name, type, major and minor. Plus the io_inprogress
field which already acts, in effect, as a delta value.

* To provide delta support, dev_node historical values
have become persistent. By the same token, the library
must provide for future removal of disks/partitions. A
timestamp is used to detect 'stale' data which will be
deleted so as not to satisfy some get, select or reap.

* Such persistent support is provided by a linked list
which, by default, grows from the bottom down so as to
maintain compatibility with the /proc/diskstats order.

Initially, I was tempted to use the GNU tsearch (tree)
provisions until I discovered the overhead of building
that tree plus costs of a subsequent 'twalk'. Besides,
walking such a tree means retrieval order would differ
from an order required/expected by the vmstat program.

* The '/sys/block' directory is no longer scanned with
every refresh cycle. Rather, it's only accessed when a
node is first encountered. Then, that node's 'type' is
persistent for its lifetime like several other fields.

* A sort provision was included, at virtually no cost,
even though such a provision was not currently needed.

Signed-off-by: Jim Warner <james.warner@comcast.net>
2016-07-26 20:46:08 +10:00

57 lines
1.1 KiB
Plaintext

LIBPROCPS_0 {
global:
escape_str;
fatal_proc_unmounted;
procps_cpu_count;
procps_diskstats_new;
procps_diskstats_ref;
procps_diskstats_unref;
procps_diskstats_get;
procps_diskstats_reap;
procps_diskstats_select;
procps_diskstats_sort;
procps_hertz_get;
procps_linux_version;
procps_loadavg;
procps_meminfo_new;
procps_meminfo_ref;
procps_meminfo_unref;
procps_meminfo_get;
procps_meminfo_select;
procps_ns_get_name;
procps_ns_get_id;
procps_ns_read_pid;
procps_pid_length;
procps_pids_new;
procps_pids_ref;
procps_pids_unref;
procps_pids_get;
procps_pids_reap;
procps_pids_reset;
procps_pids_select;
procps_pids_sort;
procps_slabinfo_new;
procps_slabinfo_ref;
procps_slabinfo_unref;
procps_slabinfo_get;
procps_slabinfo_reap;
procps_slabinfo_select;
procps_slabinfo_sort;
procps_stat_new;
procps_stat_ref;
procps_stat_unref;
procps_stat_get;
procps_stat_reap;
procps_stat_select;
procps_uptime;
procps_uptime_sprint;
procps_uptime_sprint_short;
procps_vmstat_new;
procps_vmstat_ref;
procps_vmstat_unref;
procps_vmstat_get;
procps_vmstat_select;
local:
*;
};