Date: Sat, 9 Oct 2021 10:16:11 +0200 From: Gary Jennejohn <gljennjohn@gmail.com> To: Konstantin Belousov <kostikbel@gmail.com> Cc: "Piotr P. Stefaniak" <pstef@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: bf8f6ffcb66a - main - Mention kern.timecounter.alloweddeviation in nanosleep.1 Message-ID: <20211009101611.07c89a1c@ernst.home> In-Reply-To: <YWE6FnNYFnLfLwPY@kib.kiev.ua> References: <202110081509.198F94HG022514@gitrepo.freebsd.org> <YWEuROlkDP9NckS%2B@kib.kiev.ua> <YWE0SMhAFZ1RpPZQ@freefall.freebsd.org> <YWE6FnNYFnLfLwPY@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 9 Oct 2021 09:43:34 +0300 Konstantin Belousov <kostikbel@gmail.com> wrote: > On Sat, Oct 09, 2021 at 06:18:48AM +0000, Piotr P. Stefaniak wrote: > > On 2021-10-09 08:53:08, Konstantin Belousov wrote: > > > On Fri, Oct 08, 2021 at 03:09:04PM +0000, Piotr Pawel Stefaniak wrote: > > > > @@ -93,6 +93,8 @@ returns immediately and the calling thread is not suspended. > > > > .Pp > > > > The suspension time may be longer than requested due to the > > > > scheduling of other activity by the system. > > > > +It is also subject to the allowed time interval deviation > > > > +specified by the sysctl kern.timecounter.alloweddeviation. > > > This should be like > > > .Xr sysctl 3 > > > .Dv kern.timecounter.alloweddeviation > > > > @@ -94,7 +94,9 @@ returns immediately and the calling thread is not suspended. > > The suspension time may be longer than requested due to the > > scheduling of other activity by the system. > > It is also subject to the allowed time interval deviation > > -specified by the sysctl kern.timecounter.alloweddeviation. > > +specified by the > > +.Xr sysctl 3 > > +.Dv kern.timecounter.alloweddeviation . > > An unmasked signal will terminate the sleep early, regardless of the > > .Dv SA_RESTART > > value on the interrupting signal. > > > > > And then, it is missing a description what exactly is allowed by deviation, > > > for instance, what units this sysctl is? > > > > That would be redundant with sysctl -d. The point of this change is that now > > the user is much more likely to know of the sysctl and can look it up and read > > all about it. > > > sysctl -d is not a (good) documentation. When you read a man text, you are > supposed to get everything that is relevant there, although it might be > terse and requiring making logical deduction. This is not the case there. > > Anyway, I went ahead and did what you suggested. On one of my machines, > I got > solo% sysctl -d kern.timecounter.alloweddeviation > kern.timecounter.alloweddeviation: > solo% > > On another, > v1% sysctl -d kern.timecounter.alloweddeviation ~ > kern.timecounter.alloweddeviation: Allowed time interval deviation in percents > > Slightly more useful, but still. Percents of what? > I wondered about that myself when I looked at it yesterday. Just to be pedantic, percent is a contraction of per centum and does not have a plural form. It's always percent. > Imagine somebody reads the man page in the browser from Linux. Where should > he search for the sysctl description? > > > The bug may be that there isn't much documentation to be read about it, only > > sysctl -d and kern_tc.c. > > > > The only thing I worry that may be missing from this change is this reference > > in any other manual pages that might need it as much as nanosleep. > Well, nanosleep is just an example of a syscall requesting timeout. > Another poster childs there are select(2), and poll(2) family which > explicitly use precision. > > To get the definitive list, you would need to review all uses of > callout_reset() variants. > -- Gary Jennejohn
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20211009101611.07c89a1c>