diff options
author | 2017-11-19 13:43:06 +0000 | |
---|---|---|
committer | 2017-11-19 13:43:06 +0000 | |
commit | eea0648048c25738a09adbfea002b2a8a5add58b (patch) | |
tree | 5d27e8365cd5d4e5fc9067b2bddf8454e2975e8a /sys/dev/fdt/sxiccmu_clocks.h | |
parent | Remove lock_machdep.c from amd64, i386, mips64 and sparc64. (diff) | |
download | wireguard-openbsd-eea0648048c25738a09adbfea002b2a8a5add58b.tar.xz wireguard-openbsd-eea0648048c25738a09adbfea002b2a8a5add58b.zip |
Remove interlocks between producers and consumers of randomness data
A lot of randomness event producers are executed in the interrupt
context increasing the time spent in the interrupt handler resulting
in extra costs when adding randomness data to the pool. However, in
practice randomness event producers require interlocking between each
other, but not with with consumers due to the opportunistic nature of
event consumers.
To be able to take advantage of this idea, the ring buffer indexing
is now done with two free running producer and consumer counters modulo
power of 2 size of the ring buffer.
With input from and OK visa, tb, jasper
Diffstat (limited to 'sys/dev/fdt/sxiccmu_clocks.h')
0 files changed, 0 insertions, 0 deletions