Module Name: src
Committed By: riastradh
Date: Sat Aug 5 11:51:48 UTC 2023
Modified Files:
src/sys/rump/librump/rumpkern: rump.c
Log Message:
Revert "rump: Set mp_online = true and start threads _after_ cold = 0."
This breaks some tests, e.g. dev/scsipi/t_cd:noisyeject, which relies
on config_finalize to wait for driver threads. Trouble is, the
actual setting of cold=0 happens near the call to config_finalize in
RUMP__FACTION_DEV. Need to think harder about this.
To generate a diff of this commit:
cvs rdiff -u -r1.356 -r1.357 src/sys/rump/librump/rumpkern/rump.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.356 src/sys/rump/librump/rumpkern/rump.c:1.357
--- src/sys/rump/librump/rumpkern/rump.c:1.356 Sat Aug 5 08:05:57 2023
+++ src/sys/rump/librump/rumpkern/rump.c Sat Aug 5 11:51:47 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: rump.c,v 1.356 2023/08/05 08:05:57 riastradh Exp $ */
+/* $NetBSD: rump.c,v 1.357 2023/08/05 11:51:47 riastradh Exp $ */
/*
* Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.356 2023/08/05 08:05:57 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.357 2023/08/05 11:51:47 riastradh Exp $");
#include <sys/systm.h>
#define ELFSIZE ARCH_ELFSIZE
@@ -391,9 +391,14 @@ rump_init_callback(void (*cpuinit_callba
cprng_init();
cprng_fast_init();
+ mp_online = true;
+
if (cpuinit_callback)
(*cpuinit_callback)();
+ /* CPUs are up. allow kernel threads to run */
+ rump_thread_allow(NULL);
+
rnd_init_softint();
kqueue_init();
@@ -447,11 +452,6 @@ rump_init_callback(void (*cpuinit_callba
cold = 0;
- mp_online = true;
-
- /* CPUs are up. allow kernel threads to run */
- rump_thread_allow(NULL);
-
sysctl_finalize();
module_init_class(MODULE_CLASS_ANY);