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

Reply via email to