Date: Fri, 21 May 2021 02:26:30 +0200 From: Michael Gmelin <freebsd@grem.de> To: cem@freebsd.org Cc: freebsd-current@freebsd.org Subject: Re: Reducing SIGINFO verbosity Message-ID: <E4BBC63A-9116-426D-BE12-66C76456DB14@grem.de> In-Reply-To: <CAG6CVpWpDYid9F0fSWyyFVuh6SuNmV4HwEBQUKTCXDGfq6KwAw@mail.gmail.com> References: <CAG6CVpWpDYid9F0fSWyyFVuh6SuNmV4HwEBQUKTCXDGfq6KwAw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail-EDDD88C8-179E-4760-AE2D-C6450FB771C5 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > On 21. May 2021, at 01:00, Conrad Meyer <cem@freebsd.org> wrote: > =EF=BB=BF > No, I don=E2=80=99t think there=E2=80=99s any reason to default it differe= ntly on stable vs current. I think it=E2=80=99s useful (and I prefer the mor= e verbose form, which isn=E2=80=99t the default). >=20 > Conrad=20 Well, to me siginfo is part of the user interface and changing the user inte= rface to show lots of debug information by default feels wrong (especially o= n a 80x25 terminal, where it now takes multiple lines). A typical example is= hitting ctrl-t a couple of times to see the progress in a long running dd o= peration, all the extra clutter makes this unnecessarily inconvenient. Maybe= your use case differs, I don=E2=80=99t need to see system call details when= checking the poudriere build status. In the end, personally this simply means that there is one more thing I have= to configure on every host in the future, I don=E2=80=99t really have the e= nergy to fight over this. It would be nice if changing defaults of things that were the same for decad= es would be mentioned somewhere in the release notes though. Or maybe in the= verbose output itself? Just an idea, how this could be done in a user frien= dly way: Right now we have=20 0 - normal 1 - verbose 2 - very verbose What about adding a bit here that controls an extra line saying: "You can control the verbosity of siginfo output with sysctl kern.tty_info_k= stacks" Therefore, we would have these additional values, one of them being the defa= ult value: 16 - normal + sysctl help message 17 - verbose + sysctl help message 18 - very verbose + sysctl message At this point the default won=E2=80=99t matter that much, as users learn abo= ut the feature after the update and can easily configure the setting that su= its their needs. Just trying to be somehow constructive here, having this on by default still= doesn=E2=80=99t feel right to me. Michael >=20 >> On Thu, May 20, 2021 at 11:59 John-Mark Gurney <jmg@funkthat.com> wrote: >> Michael Gmelin wrote this message on Thu, May 20, 2021 at 18:01 +0200: >> > I'm leaving this here, mostly so that others (or future me) can google >> > it up. >> >=20 >> > Traditionally, CTRL-t would give a one-line output + whatever the >> > process specific signal handler comes up with: >> >=20 >> > # 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 >> >=20 >> > # cat <--- hits CTRL-t >> > load: 0.02 cmd: cat 24379 [ttyin] 0.63r 0.00u 0.00s 0% 2308k >> >=20 >> > =20 >> > On 13 I get: >> >=20 >> > # 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 >> >=20 >> > # 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=20 >> >=20 >> > 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. >> >=20 >> > Setting >> >=20 >> > sysctl kern.tty_info_kstacks=3D0 >> > echo kern.tty_info_kstacks=3D0 >>/etc/sysctl.conf >> >=20 >> > fixes this permanently. >> >=20 >> > 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. >>=20 >> I think the original intent was to disable this on -stable or at least >> -RELEASEs, but it looks like this didn't happen. This is VERY helpful >> for a developer, but not as helpful for most users. >>=20 >> Conrad, >>=20 >> Should this be disabled on -stable now? >>=20 >> --=20 >> John-Mark Gurney Voice: +1 415 225 5579 >>=20 >> "All that I will do, has been done, All that I have, has not." --Apple-Mail-EDDD88C8-179E-4760-AE2D-C6450FB771C5 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D= utf-8"></head><body dir=3D"auto"><div dir=3D"ltr"><div dir=3D"ltr"><br></div= ><div dir=3D"ltr"><br><blockquote type=3D"cite">On 21. May 2021, at 01:00, C= onrad Meyer <cem@freebsd.org> wrote:<br><br></blockquote></div><blockq= uote type=3D"cite"><div dir=3D"ltr">=EF=BB=BF<div dir=3D"auto">No, I don=E2=80= =99t think there=E2=80=99s any reason to default it differently on stable vs= current. I think it=E2=80=99s useful (and I prefer the more verbose form, w= hich isn=E2=80=99t the default).</div><div dir=3D"auto"><br></div><div dir=3D= "auto">Conrad </div></div></blockquote><div><br></div><div>Well, to me s= iginfo is part of the user interface and changing the user interface to show= lots of debug information by default feels wrong (especially on a 80x25 ter= minal, where it now takes multiple lines). A typical example is hitting ctrl= -t a couple of times to see the progress in a long running dd operation, all= the extra clutter makes this unnecessarily inconvenient. Maybe your use cas= e differs, I don=E2=80=99t need to see system call details when checking the= poudriere build status.</div><div><br></div><div>In the end, personally thi= s simply means that there is one more thing I have to configure on every hos= t in the future, I don=E2=80=99t really have the energy to fight over this.<= /div><div><br></div><div>It would be nice if changing defaults of things tha= t were the same for decades would be mentioned somewhere in the release note= s though. Or maybe in the verbose output itself? Just an idea, how this coul= d be done in a user friendly way:</div><div><br></div><div>Right now we have= </div><div>0 - normal</div><div>1 - verbose</div><div>2 - very verbose= </div><div><br></div><div>What about adding a bit here that controls an extr= a line saying:</div><div><br></div><div>"You can control the verbosity of si= ginfo output with sysctl kern.tty_info_kstacks"</div><div><br></div><div>The= refore, we would have these additional values, one of them being the default= value:</div><div><br></div><div>16 - normal + sysctl help message</div><div= >17 - verbose + sysctl help message</div><div>18 - very verbose + sysctl mes= sage</div><div><br></div><div>At this point the default won=E2=80=99t matter= that much, as users learn about the feature after the update and can easily= configure the setting that suits their needs.</div><div><br></div><div>Just= trying to be somehow constructive here, having this on by default still doe= sn=E2=80=99t feel right to me.</div><div><br></div><div>Michael</div><div><b= r></div><blockquote type=3D"cite"><div dir=3D"ltr"><div><br><div class=3D"gm= ail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, May 20, 2021 at 11:= 59 John-Mark Gurney <<a href=3D"mailto:jmg@funkthat.com">jmg@funkthat.com= </a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0= 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Michael Gmelin wrote t= his message on Thu, May 20, 2021 at 18:01 +0200:<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> > # sleep 120 <--- hits CTRL-t<br> > load: 0.27 cmd: sleep 38162 [nanslp] 0.64r 0.00u 0.00= s 0% 1780k<br> > sleep: about 119 second(s) left out of the original 120<br>= > <br> > # cat <--- hits CTRL-t<br> > load: 0.02 cmd: cat 24379 [ttyin] 0.63r 0.00u 0.00s 0= % 2308k<br> > <br> > <br> > On 13 I get:<br> > <br> > # sleep 120 <--- hits CTRL-t<br> > load: 0.12 cmd: sleep 3241 [nanslp] 0.52r 0.00u 0.00s= 0% 2172k<br> > mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_timedwait_= sig+0x12<br> > _sleep+0x199 kern_clock_nanosleep+0x1e1 sys_nanosleep+0x3b<= br> > amd64_syscall+0x10c fast_syscall_common+0xf8 sleep: about 1= 19<br> > second(s) left out of the original 120<br> > <br> > # cat <--- hits CTRL-t<br> > load: 0.09 cmd: cat 3240 [ttyin] 0.23r 0.00u 0.00s 0%= 2300k<br> > mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_wait_sig+0= x9<br> > _cv_wait_sig+0xe4 tty_wait+0x1c ttydisc_read+0x2ac ttydev_r= ead+0x56<br> > devfs_read_f+0xd5 dofileread+0x81 sys_read+0xbc amd64_sysca= ll+0x10c<br> > 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> > sysctl kern.tty_info_kstacks=3D0<br> > 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<b= r> > 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> I think the original intent was to disable this on -stable or at least<br> -RELEASEs, but it looks like this didn't happen. This is VERY helpful<= br> for a developer, but not as helpful for most users.<br> <br> Conrad,<br> <br> Should this be disabled on -stable now?<br> <br> -- <br> John-Mark Gurney &nbs= p; Voice: +1 415 225 5579<b= r> <br> "All that I will do, has been done, All that I have, has= not."<br> </blockquote></div></div> </div></blockquote></div></body></html>= --Apple-Mail-EDDD88C8-179E-4760-AE2D-C6450FB771C5--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E4BBC63A-9116-426D-BE12-66C76456DB14>