summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2011-05-31 15:11:23 +0000
committerjhb <jhb@FreeBSD.org>2011-05-31 15:11:23 +0000
commit3e43795a7a21a21ba53f04ea258e3e79a7a34e9d (patch)
tree8efe55a81b9744430f38ee8729ed55f893ffa78d /usr.bin
parent90dbe667c5ed0f8123234e0f8b196f31befc4cf7 (diff)
downloadFreeBSD-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')
-rw-r--r--usr.bin/top/machine.c7
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;
OpenPOWER on IntegriCloud