cvs commit: src/sys/dev/random harvest.c hash.c randomdev.c randomdev.h yarrow.c

Mark Murray markm at FreeBSD.org
Mon Nov 17 15:03:05 PST 2003


markm       2003/11/17 15:02:21 PST

  FreeBSD src repository

  Modified files:
    sys/dev/random       harvest.c hash.c randomdev.c randomdev.h 
                         yarrow.c 
  Log:
  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.
  
  Revision  Changes    Path
  1.21      +5 -5      src/sys/dev/random/harvest.c
  1.11      +1 -1      src/sys/dev/random/hash.c
  1.45      +92 -101   src/sys/dev/random/randomdev.c
  1.4       +4 -1      src/sys/dev/random/randomdev.h
  1.43      +3 -19     src/sys/dev/random/yarrow.c


More information about the cvs-src mailing list