Date: Sat, 03 Aug 1996 15:02:40 -0600 From: Steve Passe <smp@csn.net> To: smp@freebsd.org Cc: hackers@freebsd.org Subject: halt & sysctl Message-ID: <199608032102.PAA14656@clem.systemsix.com>
next in thread | raw e-mail | index | archive | help
Hi, I have observed that when halting SMP kernels the 'sync' never finishes unless I manually disable the 2nd CPU via: sysctl -w kern.smp_active=0 before issuing the halt command. I have been looking for a way to do the equivalent in machdep.c:boot(): boot(howto) int howto; { #ifdef SMP /** * FIXME: all but the first CPU needs to be disabled here!!! * we want to do equiv. of "sysctl -w kern.smp_active=0" */ int status; int sctl[2]; sctl[0] = CTL_KERN; >>> sctl[1] = ???; status = kernel_sysctl(&proc0, sctl, 2, 0, 0, 0, sizeof( int ), 0); printf( "\nsysctl status: %d\n", status ); #endif /* SMP */ if (!cold && (howto & RB_NOSYNC) == 0 && waittime < 0) { ... } Am I barking up the right tree? Anyone know the proper value for sctl[1]? -- Steve Passe | powered by smp@csn.net | FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199608032102.PAA14656>