Skip site navigation (1)Skip section navigation (2)
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 &lt;cem@freebsd.org&gt; 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&nbsp;</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=
&nbsp;</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 &lt;<a href=3D"mailto:jmg@funkthat.com">jmg@funkthat.com=
</a>&gt; 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>
&gt; I'm leaving this here, mostly so that others (or future me) can google<=
br>
&gt; it up.<br>
&gt; <br>
&gt; Traditionally, CTRL-t would give a one-line output + whatever the<br>
&gt; process specific signal handler comes up with:<br>
&gt; <br>
&gt;&nbsp; &nbsp;# sleep 120 &lt;--- hits CTRL-t<br>
&gt;&nbsp; &nbsp;load: 0.27&nbsp; cmd: sleep 38162 [nanslp] 0.64r 0.00u 0.00=
s 0% 1780k<br>
&gt;&nbsp; &nbsp;sleep: about 119 second(s) left out of the original 120<br>=

&gt; <br>
&gt;&nbsp; &nbsp;# cat &lt;--- hits CTRL-t<br>
&gt;&nbsp; &nbsp;load: 0.02&nbsp; cmd: cat 24379 [ttyin] 0.63r 0.00u 0.00s 0=
% 2308k<br>
&gt; <br>
&gt;&nbsp; &nbsp;<br>
&gt; On 13 I get:<br>
&gt; <br>
&gt;&nbsp; &nbsp;# sleep 120 &lt;--- hits CTRL-t<br>
&gt;&nbsp; &nbsp;load: 0.12&nbsp; cmd: sleep 3241 [nanslp] 0.52r 0.00u 0.00s=
 0% 2172k<br>
&gt;&nbsp; &nbsp;mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_timedwait_=
sig+0x12<br>
&gt;&nbsp; &nbsp;_sleep+0x199 kern_clock_nanosleep+0x1e1 sys_nanosleep+0x3b<=
br>
&gt;&nbsp; &nbsp;amd64_syscall+0x10c fast_syscall_common+0xf8 sleep: about 1=
19<br>
&gt;&nbsp; &nbsp;second(s) left out of the original 120<br>
&gt; <br>
&gt;&nbsp; &nbsp;# cat &lt;--- hits CTRL-t<br>
&gt;&nbsp; &nbsp;load: 0.09&nbsp; cmd: cat 3240 [ttyin] 0.23r 0.00u 0.00s 0%=
 2300k<br>
&gt;&nbsp; &nbsp;mi_switch+0xc1 sleepq_catch_signals+0x2e6 sleepq_wait_sig+0=
x9<br>
&gt;&nbsp; &nbsp;_cv_wait_sig+0xe4 tty_wait+0x1c ttydisc_read+0x2ac ttydev_r=
ead+0x56<br>
&gt;&nbsp; &nbsp;devfs_read_f+0xd5 dofileread+0x81 sys_read+0xbc amd64_sysca=
ll+0x10c<br>
&gt;&nbsp; &nbsp;fast_syscall_common+0xf8 <br>
&gt; <br>
&gt; which is quite way too verbose when checking the progress of<br>
&gt; long-running processes, like cp, dd, or poudriere. Especially as CTRL-t=
<br>
&gt; is part of the user experience to me - I use it to interact with the<br=
>
&gt; machine outside of debugging software issues.<br>
&gt; <br>
&gt; Setting<br>
&gt; <br>
&gt;&nbsp; &nbsp;sysctl kern.tty_info_kstacks=3D0<br>
&gt;&nbsp; &nbsp;echo kern.tty_info_kstacks=3D0 &gt;&gt;/etc/sysctl.conf<br>=

&gt; <br>
&gt; fixes this permanently.<br>
&gt; <br>
&gt; Apparently, this was enabled by default on purpose[0], so that people<b=
r>
&gt; find the feature (which certainly worked ^_^), but I think it would<br>=

&gt; been worth mentioning the sysctl somewhere in the release notes/errata,=
<br>
&gt; 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.&nbsp; 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>
&nbsp; John-Mark Gurney&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Voice: +1 415 225 5579<b=
r>
<br>
&nbsp; &nbsp; &nbsp;"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>