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);