Hi, From: Ryo ONODERA <[email protected]>, Date: Fri, 21 Aug 2015 22:52:49 +0900 (JST)
> From: matthew green <[email protected]>, Date: Fri, 21 Aug 2015 15:42:22 > +1000 > >> Ryo ONODERA writes: >>> kc_bitsize in kcpuset_early_ptr always: 0 >>> kc_bitsize in kcpuset_early_ptr: 0 >>> KC_BITSIZE_EARLY in kcpuset_early_ptr: 4 >>> panic: kernel diagnostic assertion "kc_bitsize == KC_BITSIZE_EARLY" failed: >>> file "/usr/src/sys/kern/subr_kcpuset.c", line 184 >> >> can you debug this further? as in, add more printfs to see why >> this code isn't working? it seems fairly simple and shouldn't >> be failing this way... > > kcpuset_early_ptr() is second invoked function in this file. > And first function is kcpuset_create() and at its start kc_bitsize is > already zero. > > Anyway I will investigate deeper. __read_mostly is bad for me. static size_t kc_bitsize __read_mostly = KC_BITSIZE_EARLY; static size_t kc_nfields __read_mostly = KC_NFIELDS_EARLY; Removing __read_mostly, kernel boots like oarm. -- Ryo ONODERA // [email protected] PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
