Commit Graph

34 Commits

Author SHA1 Message Date
rmind
40cf6f3659 Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code.  Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.
2009-10-21 21:11:57 +00:00
lukem
e7a39c4fb6 Fix -Wsign-compare issues 2009-04-13 23:20:27 +00:00
mrg
fcc023545e - add new RLIMIT_AS (aka RLIMIT_VMEM) resource that limits the total
address space available to processes.  this limit exists in most other
modern unix variants, and like most of them, our defaults are unlimited.
remove the old mmap / rlimit.datasize hack.

- adds the VMCMD_STACK flag to all the stack-creation vmcmd callers.
it is currently unused, but was added a few years ago.

- add a pair of new process size values to kinfo_proc2{}. one is the
total size of the process memory map, and the other is the total size
adjusted for unused stack space (since most processes have a lot of
this...)

- patch sh, and csh to notice RLIMIT_AS.  (in some cases, the alias
RLIMIT_VMEM was already present and used if availble.)

- patch ps, top and systat to notice the new k_vm_vsize member of
kinfo_proc2{}.

- update irix, svr4, svr4_32, linux and osf1 emulations to support
this information.  (freebsd could be done, but that it's best left
as part of the full-update of compat/freebsd.)


this addresses PR 7897.  it also gives correct memory usage values,
which have never been entirely correct (since mmap), and have been
very incorrect since jemalloc() was enabled.

tested on i386 and sparc64, build tested on several other platforms.

thanks to many folks for feedback and testing but most espcially
chuq and yamt for critical suggestions that lead to this patch not
having a special ugliness i wasn't happy with anyway :-)
2009-03-29 01:02:48 +00:00
christos
e12ce13bc6 cast for tdev. 2008-12-29 01:48:19 +00:00
pavel
f5e7ca2447 Revert the changes done after newlock2 merge, except for the removal of
the now unused LSDEAD state. The current kernel headers are now
source-compatible with pre-newlock2 kernel headers again.

Approved by Andrew Doran.
2007-02-17 22:49:56 +00:00
ad
401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
kleink
2d52a8c98a Print system processes' command names in square brackets, like ps(1) does. 2006-02-13 16:01:58 +00:00
matt
d5eba984e9 Appease gcc 4.x 2005-12-24 21:14:50 +00:00
dsl
019733f61e WARNS=3 2005-02-26 22:12:33 +00:00
jdolecek
bd4dbe8139 g/c SDEAD handling 2004-01-11 19:15:50 +00:00
itojun
0e1bb4cd82 use strlcat/strlcpy 2003-05-17 21:03:21 +00:00
itojun
5bce78caa7 use strlcpy 2003-05-15 01:00:07 +00:00
thorpej
3fdac2b8c5 Merge the nathanw_sa branch. 2003-01-18 10:52:16 +00:00
wiz
7e681f7063 interrupt with two rs. 2003-01-06 13:04:54 +00:00
thorpej
477d91c699 Use kinfo_proc2. 2002-05-04 18:44:27 +00:00
matt
74f8c3cccd Fetch maxslp from the kernel. Only use USPACE if it's defined. 2001-07-14 07:09:11 +00:00
cgd
2af1e46eab __CONCAT does token pasting, not string concatnation. if something like:
__CONCAT("foo","bar");
actually works to concantate strings, it's because the preprocessor expands
it into "foo""bar" as separate strings, and then ANSI string concatenation
is performed on that.  It's more straightforward to just use ANSI string
concatenation directly, and newer GCCs complain (rightly) about misuse
of token pasting.
2000-12-20 01:17:49 +00:00
simonb
828483a73e Remove extern variables and functions now declared in dkstats.h.
While here, remove 77 (!) unneed #includes.
2000-12-01 02:19:43 +00:00
ad
fc3915475d - Add boot', run', time' and zero' commands to all IP displays. These work
as in the `vmstat' display mode. The default mode is now `time', not `boot'.
- ANSIfy.
- s@kre\(@vmstat\(@.
- __RCSID() police.
- Tweak inet.icmp display visual a little.
2000-07-05 11:03:20 +00:00
perry
bd70b1984f include sys/sched.h to get definition of CPUSTATES 2000-06-04 01:53:51 +00:00
thorpej
38c3726a7b Handle SONPROC state. 2000-06-02 04:32:07 +00:00
itojun
d7b4ec9207 - implement layered help.
Suggested by: Andy Doran <ad@mr-magoo.sports.gov.uk>
- inet6.ip6 and ipsec menu
- u_quad_t printing fix
- #ifdefs to allow compilation on 1.4.x
2000-01-08 23:12:36 +00:00
kleink
c23c312a55 * Fix a display buglet: if the process list is exhausted before the window's
bottom is reached, clear the remaining lines, lest there be stale process
  entries if the process list shrinks.
* Implement a top(1)-like `user' command in the ps display.
1999-12-22 14:46:14 +00:00
jwise
299c3534d3 TNF copyright -- I will do the paperwork to give these over asap. 1999-12-20 19:31:47 +00:00
jwise
81ed25dba3 Knee-jerk snprintf()-ism. 1999-12-20 17:08:52 +00:00
jwise
b5f0c03b3a Backout unintended change 1999-12-16 04:41:49 +00:00
jwise
7fc29b6116 Add a file missed in last commit 1999-12-16 04:40:03 +00:00
fredb
2cfe71bc9a More fallout from CL* purge. 1999-12-05 18:54:34 +00:00
mrg
45cd15f3ed recognise "dty" the same as we do "tty" 1999-10-11 11:55:27 +00:00
veego
03fd106af5 According to the previous commit the new process state should be SDEAD and
not SDYING, so s/SDYING/SDEAD/.
1999-07-23 08:56:13 +00:00
thorpej
3586621927 Update for SDEAD. 1999-07-22 18:16:05 +00:00
itohy
5bebc476c6 Fix CPU percentage of "systat ps".
Yes, the name of the member "pt_pctcpu" is confusing :-).
Use double instead of float.
1999-06-19 05:35:14 +00:00
simonb
8ac2197100 Add an __RCSID. 1999-04-22 03:40:46 +00:00
jwise
cfb46b6f4c Add a new `ps' view to systat, which shows process information. This
view is identical to the output of `ps aux' except that a.) the RSS and VSZ
fields are one character wider and b.) it shows a zero value for the RSS
and %MEM columns of processes which report a negative RSS.
1999-02-21 21:48:07 +00:00