]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Overhaul the entropy device:
authormarkm <markm@FreeBSD.org>
Mon, 17 Nov 2003 23:02:21 +0000 (23:02 +0000)
committermarkm <markm@FreeBSD.org>
Mon, 17 Nov 2003 23:02:21 +0000 (23:02 +0000)
commitf9c943515638ad456438656dd3d79e6896d4089d
tree3d031ff4aa808b1f35307d1c7c1e8da496ee119c
parentcc012e083576d0a4a3c5362245a17f627fbe19c4
Overhaul the entropy device:

o Each source gets its own queue, which is a FIFO, not a ring buffer.
  The FIFOs are implemented with the sys/queue.h macros. The separation
  is so that a low entropy/high rate source can't swamp the harvester
  with low-grade entropy and destroy the reseeds.

o Each FIFO is limited to 256 (set as a macro, so adjustable) events
  queueable. Full FIFOs are ignored by the harvester. This is to
  prevent memory wastage, and helps to keep the kernel thread CPU
  usage within reasonable limits.

o There is no need to break up the event harvesting into ${burst}
  sized chunks, so retire that feature.

o Break the device away from its roots with the memory device, and
  allow it to get its major number automagically.
sys/dev/random/harvest.c
sys/dev/random/hash.c
sys/dev/random/randomdev.c
sys/dev/random/randomdev.h
sys/dev/random/yarrow.c