Date: Thu, 20 May 2021 10:09:28 -0600 From: Alan Somers <asomers@freebsd.org> To: Michael Gmelin <freebsd@grem.de> Cc: "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: Reducing SIGINFO verbosity Message-ID: <CAOtMX2i-_baXgQ8_yM-jSeGX7hj4kbn0XP=csq1%2B%2BPN8D4m85w@mail.gmail.com> In-Reply-To: <20210520180155.3e23500e@bsd64.grem.de> References: <20210520180155.3e23500e@bsd64.grem.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000009312cd05c2c52b8f Content-Type: text/plain; charset="UTF-8" On Thu, May 20, 2021 at 10:05 AM Michael Gmelin <freebsd@grem.de> wrote: > Hi, > > I'm leaving this here, mostly so that others (or future me) can google > it up. > > Traditionally, CTRL-t would give a one-line output + whatever the > process specific signal handler comes up with: > > # sleep 120 <--- hits CTRL-t > load: 0.27 cmd: sleep 38162 [nanslp] 0.64r 0.00u 0.00s 0% 1780k > sleep: about 119 second(s) left out of the original 120 > > # cat <--- hits CTRL-t > load: 0.02 cmd: cat 24379 [ttyin] 0.63r 0.00u 0.00s 0% 2308k > > > On 13 I get: > > # sleep 120 <--- hits CTRL-t > load: 0.12 cmd: sleep 3241 [nanslp] 0.52r 0.00u 0.00s 0% 2172k > mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_timedwait_sig+0x12 > _sleep+0x199 kern_clock_nanosleep+0x1e1 sys_nanosleep+0x3b > amd64_syscall+0x10c fast_syscall_common+0xf8 sleep: about 119 > second(s) left out of the original 120 > > # cat <--- hits CTRL-t > load: 0.09 cmd: cat 3240 [ttyin] 0.23r 0.00u 0.00s 0% 2300k > mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_wait_sig+0x9 > _cv_wait_sig+0xe4 tty_wait+0x1c ttydisc_read+0x2ac ttydev_read+0x56 > devfs_read_f+0xd5 dofileread+0x81 sys_read+0xbc amd64_syscall+0x10c > fast_syscall_common+0xf8 > > which is quite way too verbose when checking the progress of > long-running processes, like cp, dd, or poudriere. Especially as CTRL-t > is part of the user experience to me - I use it to interact with the > machine outside of debugging software issues. > > Setting > > sysctl kern.tty_info_kstacks=0 > echo kern.tty_info_kstacks=0 >>/etc/sysctl.conf > > fixes this permanently. > > Apparently, this was enabled by default on purpose[0], so that people > find the feature (which certainly worked ^_^), but I think it would > been worth mentioning the sysctl somewhere in the release notes/errata, > so that people understand how to disable it again. > > Best > Michael > > [0] > https://cgit.freebsd.org/src/commit/sys/kern/tty_info.c?h=releng/13.0&id=508a6e84e785f642545b81c3ecb325685a2e56a7 > > -- > Michael Gmelin > I tend to agree. I'm already using to using procstat to see a stuck process's stacks, so I don't need to see them during ctrl-T, too. -Alan --0000000000009312cd05c2c52b8f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail= _attr">On Thu, May 20, 2021 at 10:05 AM Michael Gmelin <<a href=3D"mailt= o:freebsd@grem.de">freebsd@grem.de</a>> wrote:<br></div><blockquote clas= s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r= gb(204,204,204);padding-left:1ex">Hi,<br> <br> I'm leaving this here, mostly so that others (or future me) can google<= br> it up.<br> <br> Traditionally, CTRL-t would give a one-line output + whatever the<br> process specific signal handler comes up with:<br> <br> =C2=A0 # sleep 120 <--- hits CTRL-t<br> =C2=A0 load: 0.27=C2=A0 cmd: sleep 38162 [nanslp] 0.64r 0.00u 0.00s 0% 1780= k<br> =C2=A0 sleep: about 119 second(s) left out of the original 120<br> <br> =C2=A0 # cat <--- hits CTRL-t<br> =C2=A0 load: 0.02=C2=A0 cmd: cat 24379 [ttyin] 0.63r 0.00u 0.00s 0% 2308k<b= r> <br> <br> On 13 I get:<br> <br> =C2=A0 # sleep 120 <--- hits CTRL-t<br> =C2=A0 load: 0.12=C2=A0 cmd: sleep 3241 [nanslp] 0.52r 0.00u 0.00s 0% 2172k= <br> =C2=A0 mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_timedwait_sig+0x12<= br> =C2=A0 _sleep+0x199 kern_clock_nanosleep+0x1e1 sys_nanosleep+0x3b<br> =C2=A0 amd64_syscall+0x10c fast_syscall_common+0xf8 sleep: about 119<br> =C2=A0 second(s) left out of the original 120<br> <br> =C2=A0 # cat <--- hits CTRL-t<br> =C2=A0 load: 0.09=C2=A0 cmd: cat 3240 [ttyin] 0.23r 0.00u 0.00s 0% 2300k<br= > =C2=A0 mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_wait_sig+0x9<br> =C2=A0 _cv_wait_sig+0xe4 tty_wait+0x1c ttydisc_read+0x2ac ttydev_read+0x56<= br> =C2=A0 devfs_read_f+0xd5 dofileread+0x81 sys_read+0xbc amd64_syscall+0x10c<= br> =C2=A0 fast_syscall_common+0xf8 <br> <br> which is quite way too verbose when checking the progress of<br> long-running processes, like cp, dd, or poudriere. Especially as CTRL-t<br> is part of the user experience to me - I use it to interact with the<br> machine outside of debugging software issues.<br> <br> Setting<br> <br> =C2=A0 sysctl kern.tty_info_kstacks=3D0<br> =C2=A0 echo kern.tty_info_kstacks=3D0 >>/etc/sysctl.conf<br> <br> fixes this permanently.<br> <br> Apparently, this was enabled by default on purpose[0], so that people<br> find the feature (which certainly worked ^_^), but I think it would<br> been worth mentioning the sysctl somewhere in the release notes/errata,<br> so that people understand how to disable it again.<br> <br> Best<br> Michael<br> <br> [0]<a href=3D"https://cgit.freebsd.org/src/commit/sys/kern/tty_info.c?h=3Dr= eleng/13.0&id=3D508a6e84e785f642545b81c3ecb325685a2e56a7" rel=3D"norefe= rrer" target=3D"_blank">https://cgit.freebsd.org/src/commit/sys/kern/tty_in= fo.c?h=3Dreleng/13.0&id=3D508a6e84e785f642545b81c3ecb325685a2e56a7</a><= br> <br> -- <br> Michael Gmelin<br></blockquote><div><br></div><div>I tend to agree.=C2=A0 I= 'm already using to using procstat to see a stuck process's stacks,= so I don't need to see them during ctrl-T, too.</div><div>-Alan<br></d= iv></div></div> --0000000000009312cd05c2c52b8f--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2i-_baXgQ8_yM-jSeGX7hj4kbn0XP=csq1%2B%2BPN8D4m85w>