CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2011/01/06 21:56:52
Modified files:
sys/dev : rnd.c rndvar.h
Log message:
substantial rewrite. put a very thin mutex at the entropy-collection
side so that entropy events can come in from any kernel context. place
a 2nd very thin mutex at the call-down path as well, so that any context can
request random data. in the middle, meet with a bcopy that has no mutex,
but copying unlocked data is actually a benefit.
move the pool->MD5->RC4init sequence into a workq driven from a timeout,
so that we can do all the heavy work without any mutex held or IPL; only
grab the 2nd mutex to swap to a new RC4 state. (this workq design from tedu)
ok dlg tedu