On Monday 14 December 2009 15:46:35 Luigi Rizzo wrote: > On Mon, Dec 14, 2009 at 02:18:42PM +0000, Robert Watson wrote: > > On Mon, 14 Dec 2009, Luigi Rizzo wrote: > > ... > > > > Together with a smaller patch committed in september, this fixes a > > > bug that affects 8.0 with apps that rely on callouts to fire exactly > > > in the number of ticks specified (qemu among them). > > > Right now, callouts in 8.0 fire one tick late. > > > > > > This was discussed in september with JeffR and jhb > > > > Once this has burned in, is it something you would consider appropriate > > to be an errata note candidate? > > i have no objection, but at the time someone commented that > callouts do not _guarantee_ when they will run so strictly speaking > this is not a bug (i do think that being always a tick late _is_ a bug).
As a person running a couple of game servers which rely on nanosleep to get a fixed number of frames per second, I'd say that it is a bug. This might also affect video players which want to show their frames on time. The default HZ of 1000 mitigates the problem somewhat, but on for example a laptop running at HZ=100 the error is noticeable. To illustrate my point, calling usleep(1) 100 times in a loop results in a running time of 3 seconds with kern.hz=100 (measured on 8.x from Dec 9th), which is 3 times as long as one might reasonably expect. This suggests that the callout fires 2 ticks late ... - Pieter de Goeje _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"