Date: Sat, 15 Dec 2012 22:33:44 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Alexander Motin <mav@freebsd.org> Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r244249 - projects/calloutng/sys/dev/syscons Message-ID: <20121215222500.Q2309@besplex.bde.org> In-Reply-To: <201212151044.qBFAiG70038633@svn.freebsd.org> References: <201212151044.qBFAiG70038633@svn.freebsd.org>
index | next in thread | previous in thread | raw e-mail
On Sat, 15 Dec 2012, Alexander Motin wrote:
> Log:
> Switch syscons from timeout() to callout_reset_flags() and specify that
> precision is not important there -- anything from 20 to 30Hz will be fine.
20-30 is still a lot. It could use adaptive timeouts of many seconds
when there is no i/o, except for the blinking cursor. OTOH, precision
might be important for the blinking cursor -- it would probably be
even more distracting if it has uneven timing.
> Modified: projects/calloutng/sys/dev/syscons/syscons.c
> ==============================================================================
> --- projects/calloutng/sys/dev/syscons/syscons.c Sat Dec 15 10:30:06 2012 (r244248)
> +++ projects/calloutng/sys/dev/syscons/syscons.c Sat Dec 15 10:44:16 2012 (r244249)
> ...
> @@ -1831,7 +1833,8 @@ scrn_timer(void *arg)
> /* don't do anything when we are performing some I/O operations */
> if (suspend_in_progress || sc->font_loading_in_progress) {
> if (again)
> - timeout(scrn_timer, sc, hz / 10);
> + callout_reset_flags(&sc->ctimeout, hz / 15, scrn_timer, sc,
> + C_PRELSET(0));
> return;
> }
> s = spltty();
Why reduce the timeout?
> ...
> @@ -1899,7 +1903,8 @@ scrn_timer(void *arg)
> #endif
>
> if (again)
> - timeout(scrn_timer, sc, hz / 25);
> + callout_reset_flags(&sc->ctimeout, hz / 30, scrn_timer, sc,
> + C_PRELSET(1));
> splx(s);
> }
Most syscons timeouts except this were hz / 10. Now they are hz / 15.
I increase this one too to hz / 10 in some kernels, and have never noticed
the difference. The update rate for a movie needs to be 100 or 200 Hz,
but for some reason an update rate of just 10 Hz is enough for syscons.
At least for me. I notice flicker at 60 Hz.
Bruce
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121215222500.Q2309>
