On Mon, Dec 09, 2013 at 01:55:53PM +1000, David Gwynne wrote:
> this is a demonstration of using TIMEOUT_INITIALIZED().
>
> because we know the timeout is always set up correctly, we dont
> have to test for it all over the place.
>
[a bit of snipping...]
> - if (timeout_initialized(&rnd_timeout))
> - nanotime(&ts);
> + nanotime(&ts);
I'm not sure you can do this; check revision 1.132 of this file:
be more careful with nanotime() calls in early entropy storage, since
at least sparc may not have the clock mapped (found by miod).
while here, protect some more timeout_*() calls with timeout_initialized()
Which reversed a diff that did much of what you're doing here.
So calling nanotime without knowing that your clocks are fully wired up
appears to be a possibility (or at least was, at one point).