tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Why kc_bitsize is zero?



Hi,

From: Ryo ONODERA <ryo_on%yk.rim.or.jp@localhost>, Date: Fri, 21 Aug 2015 22:52:49 +0900 (JST)

> From: matthew green <mrg%eterna.com.au@localhost>, 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 // ryo_on%yk.rim.or.jp@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Home | Main Index | Thread Index | Old Index