Date: Sun, 10 Oct 2021 20:39:17 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Ian Lepore <ian@freebsd.org> Cc: Warner Losh <imp@bsdimp.com>, Sebastian Huber <sebastian.huber@embedded-brains.de>, FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: Why was the timehands_count sysctl added? Message-ID: <YWMlRS1hBYyKF9Mi@kib.kiev.ua> In-Reply-To: <a55f253a5cfb2affc5163913e30edb6443d6b4e9.camel@freebsd.org> References: <2d1d2a6d-ec6b-7f52-8af3-09a833c52820@embedded-brains.de> <YWHzoTpcZTQcHVUw@kib.kiev.ua> <CANCZdfr7_jb07%2BAft_uo2F8L9hDr9iABaDkANioJhi-kQXQeoQ@mail.gmail.com> <a55f253a5cfb2affc5163913e30edb6443d6b4e9.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Oct 10, 2021 at 11:15:39AM -0600, Ian Lepore wrote: > On Sat, 2021-10-09 at 14:54 -0600, Warner Losh wrote: > > On Sat, Oct 9, 2021, 1:56 PM Konstantin Belousov > > <kostikbel@gmail.com> > > wrote: > > > > > On Sat, Oct 09, 2021 at 09:41:28PM +0200, Sebastian Huber wrote: > > > > Hello, > > > > > > > > I synchronize currently the port of the FreeBSD timecounters to > > > > RTEMS and > > > > came across a change in 2019 which I do not understand. Some time > > > > ago the > > > > timehands were reduced from 10 to two: > > > > > > > > https://reviews.freebsd.org/D7302 > > > > > > > > In 2019 this changed again to be up to 16: > > > > > > > > https://reviews.freebsd.org/D21563 > > > This review did not changed it back to 16, the default value is > > > still 2. > > > It allows to bump the number of used timehands, but normally > > > systems run > > > with only 2. > > > > > > > > > > > The corresponding sysctl is not documented: > > > > > > > > https://www.freebsd.org/cgi/man.cgi?query=timecounters&sektion=4 > > > > > > > > Does someone know why this sysctl to select the count of > > > > timehands was > > > > added? Is this a performance optimization for some systems? > > > > > > To allow for experimentation, and to satisfy some requests where > > > people > > > wanted to have more that 2 timehands. > > > > > > > When would someone want that? What's the use case? > > > > Warner > > > > > > > One known usecase is a single-cpu (non-SMP) system that uses a PPS > signal. With only two timehands, a pps pulse that arrives while the > system is in an idle-sleep (wait-for-interrupt) state will switch > timehands too many times between the wakeup and the capture and trying > to use the capture data, so that the th generation count never matches, > and in effect you never capture a PPS pulse. I found that on a > BeagleBone system. It takes a minimum of 3 timehands for it to work > right. So should this system automatically adjust the number of timehands? There were no similar complaints on UP i386, at least I did not see them.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YWMlRS1hBYyKF9Mi>