summaryrefslogtreecommitdiffstats
path: root/sys/dev/random
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2016-03-28 21:51:56 +0000
committerjhb <jhb@FreeBSD.org>2016-03-28 21:51:56 +0000
commitf8c8714465ae2c2bb86eefeb92ab842cde9d38d4 (patch)
tree82d79e045ff90a691c41157948d71605b50f0f31 /sys/dev/random
parent6441be832c93e46cad5d524d0ddb0a0bf68dc091 (diff)
downloadFreeBSD-src-f8c8714465ae2c2bb86eefeb92ab842cde9d38d4.zip
FreeBSD-src-f8c8714465ae2c2bb86eefeb92ab842cde9d38d4.tar.gz
Don't start the random harvester process until timers are working.
This is a no-op currently, but in kernels with earlier AP startup, the random kthread was trying to use timeouts with sleeps before timers are working. Wait until SI_SUB_KICK_SCHEDULER to start the random kproc. Reviewed by: delphij, imp, markm Approved by: so Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D5712
Diffstat (limited to 'sys/dev/random')
-rw-r--r--sys/dev/random/random_harvestq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/random/random_harvestq.c b/sys/dev/random/random_harvestq.c
index c56d1ec..081ba83 100644
--- a/sys/dev/random/random_harvestq.c
+++ b/sys/dev/random/random_harvestq.c
@@ -183,7 +183,8 @@ random_kthread(void)
/* NOTREACHED */
}
/* This happens well after SI_SUB_RANDOM */
-SYSINIT(random_device_h_proc, SI_SUB_CREATE_INIT, SI_ORDER_ANY, kproc_start, &random_proc_kp);
+SYSINIT(random_device_h_proc, SI_SUB_KICK_SCHEDULER, SI_ORDER_ANY, kproc_start,
+ &random_proc_kp);
/*
* Run through all fast sources reading entropy for the given
OpenPOWER on IntegriCloud