]> granicus.if.org Git - procps-ng/commit
library: revised sort + new allocate APIs for slabinfo
authorJim Warner <james.warner@comcast.net>
Sat, 11 Jul 2015 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@enc.com.au>
Tue, 14 Jul 2015 12:36:07 +0000 (22:36 +1000)
commit5c3542c4e14a542e3222c9a5862a6b5694a5d96a
tree8d966f101ec27bb72cf47bb0434db1eedfca12c0
parent4dea69067eb50630eb56ad87659522c035d01a25
library: revised sort + new allocate APIs for slabinfo

With this patch, we will be close to an implementation
which will be needed when accommodating tasks/threads.
The following explanation was from an earlier message:

The slabtop requirements are similar to those of PIDs.
One must accommodate the variable number of slab nodes
(PIDs) while also accepting different data (char * and
unsigned long). Furthermore, some generalized means to
sort all that acquired stuff must somehow be provided.
------------------------------------------------------

So this patch expands the API to provide dynamic chain
allocation plus allow sorting of those dynamic chains.
While specific to slab needs (nodes, not global stats)
it is not too early to begin to think of newlib chains
as the opaque replacement for a deprecated old proc_t.

Better yet, any newlib chain is inherently variable in
length, something the old proc_t couldn't claim to be.
Of course, as we get to PIDs we'll want to grow/shrink
chains (easily accomplished with a special item enum).
And we'll want to grow/shrink those **head arrays too.
But these minor details don't seem insurmountable now.

Signed-off-by: Jim Warner <james.warner@comcast.net>
proc/libprocps.sym
proc/slab.c
proc/slab.h