svn commit: r244249 - projects/calloutng/sys/dev/syscons
Bruce Evans
brde at optusnet.com.au
Sat Dec 15 11:33:48 UTC 2012
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
More information about the svn-src-projects
mailing list