PERFORCE change 117421 for review
Roman Divacky
rdivacky at FreeBSD.org
Thu Apr 5 10:54:29 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=117421
Change 117421 by rdivacky at rdivacky_witten on 2007/04/05 10:53:39
Sync /proc/<pid>/status with linux 2.6, this is incomplete but I cannot
play more because the module panics system on unload :(
Affected files ...
.. //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#15 edit
Differences ...
==== //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#15 (text+ko) ====
@@ -668,13 +668,16 @@
fill_kinfo_proc(p, &kp);
sbuf_printf(sb, "Name:\t%s\n", p->p_comm); /* XXX escape */
sbuf_printf(sb, "State:\t%s\n", state);
+ sbuf_printf(sb, "SleepAVG:\t%d%%\n", 98); /* seen on real Linux */
/*
* Credentials
*/
- sbuf_printf(sb, "Pid:\t%d\n", p->p_pid);
+ sbuf_printf(sb, "Tgid:\t%d\n", p->p_pid);
+ sbuf_printf(sb, "Pid:\t%d\n", p->p_pid); /* XXX: wrong with 2.6 */
sbuf_printf(sb, "PPid:\t%d\n", p->p_pptr ?
p->p_pptr->p_pid : 0);
+ sbuf_printf(sb, "TracerPid:\t%d\n", 0);
sbuf_printf(sb, "Uid:\t%d %d %d %d\n", p->p_ucred->cr_ruid,
p->p_ucred->cr_uid,
p->p_ucred->cr_svuid,
@@ -685,6 +688,7 @@
p->p_ucred->cr_svgid,
/* FreeBSD doesn't have fsgid */
p->p_ucred->cr_gid);
+ sbuf_printf(sb, "FDSize:\t%d\n", 64); /* seen on real Linux */
sbuf_cat(sb, "Groups:\t");
for (i = 0; i < p->p_ucred->cr_ngroups; i++)
sbuf_printf(sb, "%d ", p->p_ucred->cr_groups[i]);
@@ -702,8 +706,10 @@
* could also compute VmLck, but I don't really care enough to
* implement it. Submissions are welcome.
*/
+ sbuf_printf(sb, "VmPeak:\t%8ju kB\n", B2K((uintmax_t)kp.ki_size));
sbuf_printf(sb, "VmSize:\t%8ju kB\n", B2K((uintmax_t)kp.ki_size));
sbuf_printf(sb, "VmLck:\t%8u kB\n", P2K(0)); /* XXX */
+ sbuf_printf(sb, "VmHWM:\t%8ju kB\n", P2K((uintmax_t)kp.ki_rssize));
sbuf_printf(sb, "VmRss:\t%8ju kB\n", P2K((uintmax_t)kp.ki_rssize));
sbuf_printf(sb, "VmData:\t%8ju kB\n", P2K((uintmax_t)kp.ki_dsize));
sbuf_printf(sb, "VmStk:\t%8ju kB\n", P2K((uintmax_t)kp.ki_ssize));
@@ -711,6 +717,10 @@
lsize = B2P(kp.ki_size) - kp.ki_dsize -
kp.ki_ssize - kp.ki_tsize - 1;
sbuf_printf(sb, "VmLib:\t%8ju kB\n", P2K((uintmax_t)lsize));
+ sbuf_printf(sb, "VmPTE:\t%8ju kB\n", P2K((uintmax_t)4));
+
+ /* Threads */
+ sbuf_printf(sb, "Threads:\t%d\n", 1); /* XXX: bogus */
/*
* Signal masks
@@ -724,6 +734,10 @@
* running on anything but i386, so ignore that for now.
*/
PROC_LOCK(p);
+ /* XXX: bogus, should be like this
+ sbuf_printf(sb, "SigQ:\t%d/%d\n", sigs,p->p_limit->pl_rlimit[RLIMIT_SIGPENDING]);
+ */
+ sbuf_printf(sb, "SigQ:\t%d/%d\n", 0, 0);
sbuf_printf(sb, "SigPnd:\t%08x\n", p->p_siglist.__bits[0]);
/*
* I can't seem to find out where the signal mask is in
More information about the p4-projects
mailing list