Index: sys/sys/user.h =================================================================== --- sys/sys/user.h (revision 236723) +++ sys/sys/user.h (working copy) @@ -463,7 +463,9 @@ uint32_t kve_vn_rdev; /* Device id if device. */ uint16_t kve_vn_mode; /* File mode. */ uint16_t kve_status; /* Status flags. */ - int _kve_ispare[12]; /* Space for more stuff. */ + int kve_super; /* Number of pages mapped to + superpages. */ + int _kve_ispare[11]; /* Space for more stuff. */ /* Truncated before copyout in sysctl */ char kve_path[PATH_MAX]; /* Path to VM obj, if any. */ }; Index: sys/kern/kern_proc.c =================================================================== --- sys/kern/kern_proc.c (revision 236723) +++ sys/kern/kern_proc.c (working copy) @@ -2151,6 +2151,7 @@ obj->resident_page_count; } kve->kve_resident = 0; + kve->kve_super = 0; addr = entry->start; while (addr < entry->end) { locked_pa = 0; @@ -2159,8 +2160,10 @@ vm_page_unlock(PHYS_TO_VM_PAGE(locked_pa)); if (mincoreinfo & MINCORE_INCORE) kve->kve_resident++; - if (mincoreinfo & MINCORE_SUPER) + if (mincoreinfo & MINCORE_SUPER) { kve->kve_flags |= KVME_FLAG_SUPER; + kve->kve_super++; + } addr += PAGE_SIZE; } Index: usr.bin/procstat/procstat_vm.c =================================================================== --- usr.bin/procstat/procstat_vm.c (revision 236723) +++ usr.bin/procstat/procstat_vm.c (working copy) @@ -50,9 +50,9 @@ ptrwidth = 2*sizeof(void *) + 2; if (!hflag) - printf("%5s %*s %*s %3s %4s %4s %3s %3s %3s %-2s %-s\n", + printf("%5s %*s %*s %3s %4s %4s %4s %3s %3s %3s %-2s %-s\n", "PID", ptrwidth, "START", ptrwidth, "END", "PRT", "RES", - "PRES", "REF", "SHD", "FL", "TP", "PATH"); + "PRES", "SUP", "REF", "SHD", "FL", "TP", "PATH"); freep = kinfo_getvmmap(kipp->ki_pid, &cnt); if (freep == NULL) @@ -67,6 +67,7 @@ printf("%s ", kve->kve_protection & KVME_PROT_EXEC ? "x" : "-"); printf("%4d ", kve->kve_resident); printf("%4d ", kve->kve_private_resident); + printf("%4d ", kve->kve_super); printf("%3d ", kve->kve_ref_count); printf("%3d ", kve->kve_shadow_count); printf("%-1s", kve->kve_flags & KVME_FLAG_COW ? "C" : "-");