Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 2009 14:18:42 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Luigi Rizzo <luigi@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r200510 - head/sys/kern
Message-ID:  <alpine.BSF.2.00.0912141418090.61723@fledge.watson.org>
In-Reply-To: <200912141223.nBECNlDZ026381@svn.freebsd.org>
References:  <200912141223.nBECNlDZ026381@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 14 Dec 2009, Luigi Rizzo wrote:

>  Properly fix callout handling by putting all the per-cpu info in
>  struct callout_cpu. From the comment in the file:
>
>  + * There is one struct callout_cpu per cpu, holding all relevant
>  + * state for the callout processing thread on the individual CPU.
>  + * In particular:
>  + *     cc_ticks is incremented once per tick in callout_cpu().
>  + *     It tracks the global 'ticks' but in a way that the individual
>  + *     threads should not worry about races in the order in which
>  + *     hardclock() and hardclock_cpu() run on the various CPUs.
>  + *     cc_softclock is advanced in callout_cpu() to point to the
>  + *     first entry in cc_callwheel that may need handling. In turn,
>  + *     a softclock() is scheduled so it can serve the various entries i
>  + *     such that cc_softclock <= i <= cc_ticks .
>
>  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?

Robert N M Watson
Computer Laboratory
University of Cambridge



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0912141418090.61723>