diff options
author | Conrad Meyer <cem@FreeBSD.org> | 2018-10-22 17:42:57 +0000 |
---|---|---|
committer | Conrad Meyer <cem@FreeBSD.org> | 2018-10-22 17:42:57 +0000 |
commit | 93940996fd80c08c681cb38642457e41218476fe (patch) | |
tree | a64b949719df54b58273f1947c975bea028085f3 | |
parent | 2801dd08d714dfbcc435f34187298c9f5a92d37e (diff) | |
download | src-93940996fd80c08c681cb38642457e41218476fe.tar.gz src-93940996fd80c08c681cb38642457e41218476fe.zip |
Conditionalize kern.tty_info_kstacks feature on STACKS option
Fix tinderbox (mips XLPN32) after r339471.
Reported by: tinderbox
X-MFC-With: r339471
Sponsored by: Dell EMC Isilon
Notes
Notes:
svn path=/head/; revision=339605
-rw-r--r-- | sys/kern/tty_info.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/kern/tty_info.c b/sys/kern/tty_info.c index 598db728e210..378e1bc64284 100644 --- a/sys/kern/tty_info.c +++ b/sys/kern/tty_info.c @@ -236,10 +236,12 @@ sbuf_tty_drain(void *a, const char *d, int len) return (-ENXIO); } +#ifdef STACK static bool tty_info_kstacks = false; SYSCTL_BOOL(_kern, OID_AUTO, tty_info_kstacks, CTLFLAG_RWTUN, &tty_info_kstacks, 0, "Enable printing kernel stack(9) traces on ^T (tty info)"); +#endif /* * Report on state of foreground process group. @@ -248,13 +250,16 @@ void tty_info(struct tty *tp) { struct timeval rtime, utime, stime; +#ifdef STACK struct stack stack; + int sterr; +#endif struct proc *p, *ppick; struct thread *td, *tdpick; const char *stateprefix, *state; struct sbuf sb; long rss; - int load, pctcpu, sterr; + int load, pctcpu; pid_t pid; char comm[MAXCOMLEN + 1]; struct rusage ru; @@ -329,6 +334,7 @@ tty_info(struct tty *tp) else state = "unknown"; pctcpu = (sched_pctcpu(td) * 10000 + FSCALE / 2) >> FSHIFT; +#ifdef STACK if (tty_info_kstacks) { stack_zero(&stack); if (TD_IS_SWAPPED(td) || TD_IS_RUNNING(td)) @@ -338,6 +344,7 @@ tty_info(struct tty *tp) sterr = 0; } } +#endif thread_unlock(td); if (p->p_state == PRS_NEW || p->p_state == PRS_ZOMBIE) rss = 0; @@ -359,8 +366,10 @@ tty_info(struct tty *tp) (long)stime.tv_sec, stime.tv_usec / 10000, pctcpu / 100, rss); +#ifdef STACK if (tty_info_kstacks && sterr == 0) stack_sbuf_print_flags(&sb, &stack, M_NOWAIT); +#endif out: sbuf_finish(&sb); |