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