cvs commit: src/sys/i386/include clock.h src/sys/i386/isa clock.c src/sys/kern kern_intr.c kern_random.c src/sys/sys bus.h kernel.h src/sys/dev/disk/mpt mpt_freebsd.h src/sys/dev/raid/aac aac_pci.c src/sys/dev/raid/amr amr_pci.c src/sys/dev/raid/mlx mlx.c ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Jan 25 11:58:59 PST 2006
dillon 2006/01/25 11:56:31 PST
DragonFly src repository
Modified files:
sys/i386/include clock.h
sys/i386/isa clock.c
sys/kern kern_intr.c kern_random.c
sys/sys bus.h kernel.h
sys/dev/disk/mpt mpt_freebsd.h
sys/dev/raid/aac aac_pci.c
sys/dev/raid/amr amr_pci.c
sys/dev/raid/mlx mlx.c
sys/dev/raid/twe twe_freebsd.c
Log:
The random number generator was not generating sufficient entropy by
default, resulting in weak random numbers for a short period of time after
a machine is first booted.
* Change the entropy default for all interrupts except the clock interrupt
from off to on.
* Greatly reduce the overhead of the interrupt entropy code so even high
performance interrupts can call it.
* Instead of calculating the entropy at the time of the interrupt,
introduce a new rate-limited kernel thread which the interrupt code can
simply schedule. The new thread will be responsible for adding the
entropy.
This thread will rate-limit based on the amount of entropy that has been
built up. The more entropy we have, the lower the thread's frequency of
operation. Currently the limit is set to 25 hz.
* Use the TSC in addition to the normal time calculation when introducing
entropy.
Note that during tests it was found that a new ssh connection tends to
'eat' all available entropy. This isn't actually true, it's really the
entropy calculation itself which is not quite correct, but I am duely noting
the issue here.
Reported-by: "Simon 'corecode' Schubert" <corecode at xxxxxxxxxxxx>
Revision Changes Path
1.7 +1 -0 src/sys/i386/include/clock.h
1.46 +9 -5 src/sys/i386/isa/clock.c
1.41 +11 -3 src/sys/kern/kern_intr.c
1.11 +83 -10 src/sys/kern/kern_random.c
1.21 +1 -1 src/sys/sys/bus.h
1.19 +1 -0 src/sys/sys/kernel.h
1.9 +2 -2 src/sys/dev/disk/mpt/mpt_freebsd.h
1.8 +1 -1 src/sys/dev/raid/aac/aac_pci.c
1.7 +1 -1 src/sys/dev/raid/amr/amr_pci.c
1.15 +1 -1 src/sys/dev/raid/mlx/mlx.c
1.18 +1 -1 src/sys/dev/raid/twe/twe_freebsd.c
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/clock.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/clock.c.diff?r1=1.45&r2=1.46&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_intr.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_random.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/bus.h.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/kernel.h.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/mpt/mpt_freebsd.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/aac/aac_pci.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/amr/amr_pci.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/mlx/mlx.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/twe/twe_freebsd.c.diff?r1=1.17&r2=1.18&f=u
More information about the Commits
mailing list