<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/random/yarrow.h, branch release/6.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F6.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F6.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2004-04-09T15:47:10Z</updated>
<entry>
<title>Reorganise the entropy device so that high-yield entropy sources</title>
<updated>2004-04-09T15:47:10Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2004-04-09T15:47:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e7806b4c0eb398aba8b6e8ddeda96e6ddd9305ae'/>
<id>urn:sha1:e7806b4c0eb398aba8b6e8ddeda96e6ddd9305ae</id>
<content type='text'>
can more easily be used INSTEAD OF the hard-working Yarrow.
The only hardware source used at this point is the one inside
the VIA C3 Nehemiah (Stepping 3 and above) CPU. More sources will
be added in due course. Contributions welcome!
</content>
</entry>
<entry>
<title>Staticise the random_state array.</title>
<updated>2002-01-10T00:09:21Z</updated>
<author>
<name>Mike Smith</name>
<email>msmith@FreeBSD.org</email>
</author>
<published>2002-01-10T00:09:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5390e1bc8fe871d8ca5ddcd288d918b1c538b4b5'/>
<id>urn:sha1:5390e1bc8fe871d8ca5ddcd288d918b1c538b4b5</id>
<content type='text'>
Reviewed by:	markm
</content>
</entry>
<entry>
<title>Very large makeover of the /dev/random driver.</title>
<updated>2001-03-10T12:51:55Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2001-03-10T12:51:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=02c986ab5491cfc84666b5ce658dd7b3508b6b93'/>
<id>urn:sha1:02c986ab5491cfc84666b5ce658dd7b3508b6b93</id>
<content type='text'>
o Separate the kernel stuff from the Yarrow algorithm. Yarrow is now
  well contained in one source file and one header.

o Replace the Blowfish-based crypto routines with Rijndael-based ones.
  (Rijndael is the new AES algorithm). The huge improvement in
  Rijndael's key-agility over Blowfish means that this is an
  extremely dramatic improvement in speed, and makes a heck of
  a difference in its (lack of) CPU load.

o Clean up the sysctl's. At BDE's prompting, I have gone back to
  static sysctls.

o Bug fixes. The streamlining of the crypto stuff enabled me to
  find and fix some bugs. DES also found a bug in the reseed routine
  which is fixed.

o Change the way reseeds clear "used" entropy. Previously, only the
  source(s) that caused a reseed were cleared. Now all sources in the
  relevant pool(s) are cleared.

o Code tidy-up. Mostly to make it (nearly) 80-column compliant.
</content>
</entry>
<entry>
<title>Make a big improvement to entropy-harvesting speed by not having any</title>
<updated>2001-02-11T16:21:35Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2001-02-11T16:21:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d70736850e33be1a1210eeabcdb8f49f135ff25c'/>
<id>urn:sha1:d70736850e33be1a1210eeabcdb8f49f135ff25c</id>
<content type='text'>
locks (only atomic assigns) in the harvest ringbuffer.
</content>
</entry>
<entry>
<title>Remove NOBLOCKRANDOM as a compile-time option. Instead, provide</title>
<updated>2001-01-14T17:50:15Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2001-01-14T17:50:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b79ad7e6425665aa15a2b684fb309b9809dc736b'/>
<id>urn:sha1:b79ad7e6425665aa15a2b684fb309b9809dc736b</id>
<content type='text'>
exactly the same functionality via a sysctl, making this feature
a run-time option.

The default is 1(ON), which means that /dev/random device will
NOT block at startup.

setting kern.random.sys.seeded to 0(OFF) will cause /dev/random
to block until the next reseed, at which stage the sysctl
will be changed back to 1(ON).

While I'm here, clean up the sysctls, and make them dynamic.
Reviewed by:		des
Tested on Alpha by:	obrien
</content>
</entry>
<entry>
<title>Major speedup to /dev/random and the kernel thread that reseeds it.</title>
<updated>2000-12-02T18:40:16Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2000-12-02T18:40:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=84d4f509f028145ca2f9519734a32a2acabfcfb9'/>
<id>urn:sha1:84d4f509f028145ca2f9519734a32a2acabfcfb9</id>
<content type='text'>
There is no more TAILQ fifo to harvest the entropy; instead, there
is a circular buffer of constant size (changeable by macro) that
pretty dramatically improves the speed and fixes potential slowdowns-
by-locking.

Also gone are a slew of malloc(9) and free(9) calls; all harvesting
buffers are static.

All-in-all, this is a good performance improvement.

Thanks-to:	msmith for the circular buffer concept-code.
</content>
</entry>
<entry>
<title>Greatly improve the boot-up unblocking time of the entropy device.</title>
<updated>2000-11-25T19:13:29Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2000-11-25T19:13:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=50636159236da07a17f6a05b05e3787ff1c4cd51'/>
<id>urn:sha1:50636159236da07a17f6a05b05e3787ff1c4cd51</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More comment changing. Keep documentation in one place.</title>
<updated>2000-11-25T18:00:54Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2000-11-25T18:00:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=caccf5c4004d8518d62fb40b38d53133af4c4bcb'/>
<id>urn:sha1:caccf5c4004d8518d62fb40b38d53133af4c4bcb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Correct a comment. This represents a very minor policy change of my</title>
<updated>2000-11-25T17:58:11Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2000-11-25T17:58:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=24242537f876d200ddb557b23a343e86dc3e4e1c'/>
<id>urn:sha1:24242537f876d200ddb557b23a343e86dc3e4e1c</id>
<content type='text'>
intentions with this code.
</content>
</entry>
<entry>
<title>Stop explicitly using nanotime(9) and use the new get_cyclecounter(9)</title>
<updated>2000-11-25T17:09:01Z</updated>
<author>
<name>Mark Murray</name>
<email>markm@FreeBSD.org</email>
</author>
<published>2000-11-25T17:09:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e73a42f8fb107ecee0fa96a7af9d64073a0072f1'/>
<id>urn:sha1:e73a42f8fb107ecee0fa96a7af9d64073a0072f1</id>
<content type='text'>
call instead.

This makes a pretty dramatic difference to the amount of work that
the harvester needs to do - it is much friendlier on the system.
(80386 and 80486 class machines will notice little, as the new
get_cyclecounter() call is a wrapper round nanotime(9) for them).
</content>
</entry>
</feed>
