top: exploit the newly added library smaps_rollup item

We're just following the ps program's lead introducing
a new 'USS' field to represent the non-swapped portion
of physical memory ('RSS') not shared by another task.

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner
2021-06-16 00:00:00 -05:00
committed by Craig Small
parent bbebf29dd1
commit a30d949acf
4 changed files with 37 additions and 28 deletions

View File

@@ -1676,8 +1676,9 @@ static struct {
{ 6, SK_Kb, A_right, PIDS_SMAP_PSS }, // ul_int EU_PSS
{ 6, SK_Kb, A_right, PIDS_SMAP_PSS_ANON }, // ul_int EU_PZA
{ 6, SK_Kb, A_right, PIDS_SMAP_PSS_FILE }, // ul_int EU_PZF
{ 6, SK_Kb, A_right, PIDS_SMAP_PSS_SHMEM } // ul_int EU_PZS
#define eu_LAST EU_PZS
{ 6, SK_Kb, A_right, PIDS_SMAP_PSS_SHMEM }, // ul_int EU_PZS
{ 6, SK_Kb, A_right, PIDS_SMAP_PRV_TOTAL } // ul_int EU_USS
#define eu_LAST EU_USS
// xtra Fieldstab 'pseudo pflag' entries for the newlib interface . . . . . . .
#define eu_CMDLINE eu_LAST +1
#define eu_TICS_ALL_C eu_LAST +2
@@ -2320,7 +2321,7 @@ static void zap_fieldstab (void) {
= Fieldstab[EU_RZS].scale = Fieldstab[EU_RSS].scale
= Fieldstab[EU_PSS].scale = Fieldstab[EU_PZA].scale
= Fieldstab[EU_PZF].scale = Fieldstab[EU_PZS].scale
= Rc.task_mscale;
= Fieldstab[EU_USS].scale = Rc.task_mscale;
// lastly, ensure we've got proper column headers...
calibrate_fields();
@@ -5900,6 +5901,7 @@ static const char *task_show (const WIN_t *q, struct pids_stack *p) {
case EU_SHR: // PIDS_MEM_SHR
case EU_SWP: // PIDS_VM_SWAP
case EU_USE: // PIDS_VM_USED
case EU_USS: // PIDS_SMAP_PRV_TOTAL
case EU_VRT: // PIDS_MEM_VIRT
cp = scale_mem(S, rSv(i, ul_int), W, Jn);
break;