opnsense-src/sys/dev/random
Conrad Meyer 548dca90ae random(4): Fortuna: Enable concurrent generation by default for 13
Flip the knob added in r349154 to "enabled."  The commit message from that
revision and associated code comment describe the rationale, implementation,
and motivation for the new default in detail.  I have dog-fooded this
configuration on my own systems for six months, for what that's worth.

For end-users: the result is just as secure.  The benefit is a faster, more
responsive system when processes produce significant demand on random(4).

As mentioned in the earlier commit, the prior behavior may be restored by
setting the kern.random.fortuna.concurrent_read="0" knob in loader.conf(5).

This scales the random generation side of random(4) somewhat, although there
is still a global mutex being shared by all cores and rand_harvestq; the
situation is generally much better than it was before on small CPU systems,
but do not expect miracles on 256-core systems running 256-thread full-rate
random(4) read.  Work is ongoing to address both the generation-side (in
more depth) and the harvest-side scaling problems.

Approved by:	csprng(delphij, markm)
Tested by:	markm
Differential Revision:	https://reviews.freebsd.org/D22879
2019-12-20 08:31:23 +00:00
..
build.sh Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
darn.c random(4): Reorder configuration of random source modules 2019-08-18 16:04:01 +00:00
fortuna.c random(4): Fortuna: Enable concurrent generation by default for 13 2019-12-20 08:31:23 +00:00
fortuna.h random(4): Fortuna: allow increased concurrency 2019-06-17 20:29:13 +00:00
hash.c random(4): Fortuna: allow increased concurrency 2019-06-17 20:29:13 +00:00
hash.h random(4): Fortuna: allow increased concurrency 2019-06-17 20:29:13 +00:00
ivy.c random/ivy: Provide mechanism to read independent seed values from rdrand 2019-11-22 19:30:31 +00:00
nehemiah.c random(4): Reorder configuration of random source modules 2019-08-18 16:04:01 +00:00
other_algorithm.c random(4): Generalize algorithm-independent APIs 2019-06-17 15:09:12 +00:00
other_algorithm.h Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
random_harvestq.c random(4): De-export random_sources list 2019-11-22 20:24:15 +00:00
random_harvestq.h Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
random_infra.c random(4): De-export random_sources list 2019-11-22 20:24:15 +00:00
randomdev.c random(4): Reorder configuration of random source modules 2019-08-18 16:04:01 +00:00
randomdev.h random(4): De-export random_sources list 2019-11-22 20:24:15 +00:00
uint128.h random(4): Fortuna: allow increased concurrency 2019-06-17 20:29:13 +00:00
unit_test.c Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
unit_test.h Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00