Page MenuHomeFreeBSD

D19461.diff
No OneTemporary

D19461.diff

Index: head/sys/kern/kern_proc.c
===================================================================
--- head/sys/kern/kern_proc.c
+++ head/sys/kern/kern_proc.c
@@ -2487,6 +2487,8 @@
kve->kve_flags |= KVME_FLAG_GROWS_UP;
if (entry->eflags & MAP_ENTRY_GROWS_DOWN)
kve->kve_flags |= KVME_FLAG_GROWS_DOWN;
+ if (entry->eflags & MAP_ENTRY_USER_WIRED)
+ kve->kve_flags |= KVME_FLAG_USER_WIRED;
last_timestamp = map->timestamp;
vm_map_unlock_read(map);
Index: head/sys/sys/user.h
===================================================================
--- head/sys/sys/user.h
+++ head/sys/sys/user.h
@@ -471,6 +471,7 @@
#define KVME_FLAG_SUPER 0x00000008
#define KVME_FLAG_GROWS_UP 0x00000010
#define KVME_FLAG_GROWS_DOWN 0x00000020
+#define KVME_FLAG_USER_WIRED 0x00000040
#if defined(__amd64__)
#define KINFO_OVMENTRY_SIZE 1168
Index: head/usr.bin/procstat/procstat.1
===================================================================
--- head/usr.bin/procstat/procstat.1
+++ head/usr.bin/procstat/procstat.1
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 14, 2017
+.Dd March 4, 2019
.Dt PROCSTAT 1
.Os
.Sh NAME
@@ -662,6 +662,11 @@
grows down (top-down stack)
.It U
grows up (bottom-up stack)
+.It W
+pages in this range are locked by
+.Xr mlock 2
+or
+.Xr mlockall 2
.El
.Ss ELF Auxiliary Vector
Display ELF auxiliary vector values:
@@ -684,6 +689,8 @@
.Xr sockstat 1 ,
.Xr cap_enter 2 ,
.Xr cap_rights_limit 2 ,
+.Xr mlock 2 ,
+.Xr mlockall 2 ,
.Xr libprocstat 3 ,
.Xr libxo 3 ,
.Xr signal 3 ,
Index: head/usr.bin/procstat/procstat_vm.c
===================================================================
--- head/usr.bin/procstat/procstat_vm.c
+++ head/usr.bin/procstat/procstat_vm.c
@@ -53,7 +53,7 @@
ptrwidth = 2*sizeof(void *) + 2;
if ((procstat_opts & PS_OPT_NOHEADER) == 0)
- xo_emit("{T:/%5s %*s %*s %3s %4s %4s %3s %3s %-4s %-2s %-s}\n",
+ xo_emit("{T:/%5s %*s %*s %3s %4s %4s %3s %3s %-5s %-2s %-s}\n",
"PID", ptrwidth, "START", ptrwidth, "END", "PRT", "RES",
"PRES", "REF", "SHD", "FLAG", "TP", "PATH");
@@ -98,9 +98,11 @@
KVME_FLAG_NEEDS_COPY ? "N" : "-");
xo_emit("{d:super_pages/%-1s}", kve->kve_flags &
KVME_FLAG_SUPER ? "S" : "-");
- xo_emit("{d:grows_down/%-1s} ", kve->kve_flags &
+ xo_emit("{d:grows_down/%-1s}", kve->kve_flags &
KVME_FLAG_GROWS_UP ? "U" : kve->kve_flags &
KVME_FLAG_GROWS_DOWN ? "D" : "-");
+ xo_emit("{d:wired/%-1s} ", kve->kve_flags &
+ KVME_FLAG_USER_WIRED ? "W" : "-");
xo_open_container("kve_flags");
xo_emit("{en:copy_on_write/%s}", kve->kve_flags &
KVME_FLAG_COW ? "true" : "false");
@@ -112,6 +114,8 @@
KVME_FLAG_GROWS_UP ? "true" : "false");
xo_emit("{en:grows_down/%s}", kve->kve_flags &
KVME_FLAG_GROWS_DOWN ? "true" : "false");
+ xo_emit("{en:wired/%s}", kve->kve_flags &
+ KVME_FLAG_USER_WIRED ? "true" : "false");
xo_close_container("kve_flags");
switch (kve->kve_type) {
case KVME_TYPE_NONE:

File Metadata

Mime Type
text/plain
Expires
Sun, May 17, 9:29 AM (13 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33186400
Default Alt Text
D19461.diff (2 KB)

Event Timeline