diff options
author | jhb <jhb@FreeBSD.org> | 2011-05-31 15:11:23 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2011-05-31 15:11:23 +0000 |
commit | 3e43795a7a21a21ba53f04ea258e3e79a7a34e9d (patch) | |
tree | 8efe55a81b9744430f38ee8729ed55f893ffa78d /usr.bin/top | |
parent | 90dbe667c5ed0f8123234e0f8b196f31befc4cf7 (diff) | |
download | FreeBSD-src-3e43795a7a21a21ba53f04ea258e3e79a7a34e9d.zip FreeBSD-src-3e43795a7a21a21ba53f04ea258e3e79a7a34e9d.tar.gz |
Add a new option to toggle the display of the system idle process (per-CPU
idle threads). The process is displayed by default (subject to whether or
not system processes are displayed) to preserve existing behavior. The
system idle process can be hidden via the '-z' command line argument or the
'z' key while top is running. When it is hidden, top more closely matches
the behavior of FreeBSD <= 4.x where idle time was not accounted to any
process.
MFC after: 2 weeks
Diffstat (limited to 'usr.bin/top')
-rw-r--r-- | usr.bin/top/machine.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c index f98f64e..4c55682 100644 --- a/usr.bin/top/machine.c +++ b/usr.bin/top/machine.c @@ -624,6 +624,7 @@ get_process_info(struct system_info *si, struct process_select *sel, int show_system; int show_uid; int show_command; + int show_kidle; /* * Save the previous process info. @@ -664,6 +665,7 @@ get_process_info(struct system_info *si, struct process_select *sel, show_system = sel->system; show_uid = sel->uid != -1; show_command = sel->command != NULL; + show_kidle = sel->kidle; /* count up process states and get pointers to interesting procs */ total_procs = 0; @@ -705,6 +707,11 @@ get_process_info(struct system_info *si, struct process_select *sel, /* skip idle or non-running processes */ continue; + if (displaymode == DISP_CPU && !show_kidle && + pp->ki_tdflags & TDF_IDLETD) + /* skip kernel idle process */ + continue; + if (displaymode == DISP_IO && !show_idle && p_io == 0) /* skip processes that aren't doing I/O */ continue; |