First pass at updating top(1):
* add command line option '-T' for displaying kernel threads
such as pagedaemon, tcp_thread, and so on; the threads are
now marked '<thread>' in the top(1) display.
* cleanup manipulation of COMMAND strings, insipired by a
similar change in NetBSD's top(1).
* add a toggle for system processes, called 'S' so we dont
need to restart top(1) to {un}display system processes.
* change some sprintf's to snprintfs for safety.
* update the sort/ordering top(1) commands so that it correctly
displays kernel threads by priority time used etc.
* add a 'thr' sort order function so that kernel threads can be
collected together in the top(1) display; this is useful when
running it in batch mode.
* fix the screen width issue for terminals that have more than
80 columns; this was necessary for showing threads properly in
SMP mode.
* add ability for top(1) to sort kernel threads their priority
(note, thread priorities are stored differently).
NOTE! top(1) is now using the contrib-patching framework just like
we do with GCC-3 so that it will be simple to update the base code
in the future if required.
CREDITS
Thanks go to Matthew Dillon <dillon@backplane.com> for reviewing the
patches and supplying me with an SMP machine to test the changes.