NetBSD-Bugs archive

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

Re: kern/52111: wmX i82574L inoperative in monoprocessor mode (i386)



Hi,

On 2017/03/29 15:02, Frank Kardel wrote:
> As for the panic in the boot -1 case the
> panic of "intrctl list" occurred in:
> 
> sys/arch/x86/x86/intr.c:
> 
> static bool
> intr_is_affinity_intrsource(struct intrsource *isp, const kcpuset_t 
> *cpuset)
> {
>          struct cpu_info *ci;
> 
>          KASSERT(mutex_owned(&cpu_lock));
> 
>  >>>       ci = isp->is_handlers->ih_cpu;
>          KASSERT(ci != NULL);
> 
>          return kcpuset_isset(cpuset, cpu_index(ci));
> }
> 
> due to is_handlers == NULL. The whole struct intrsource seems to be 
> zeroed except fir is_intrid, but
> correctly linked.
> 
> Value of the intrsource is:
> (gdb) print *isp
> $2 = {is_maxlevel = 0, is_pin = 0, is_handlers = 0x0, is_pic = 0x0, 
> is_recurse = 0x0, is_resume = 0x0, is_lwp = 0x0, is_evcnt = {ev_count = 
> 0, ev_list = {tqe_next = 0x0, tqe_prev = 0x0}, ev_type = 0 '\000', 
> ev_grouplen = 0 '\000',
>      ev_namelen = 0 '\000', ev_pad1 = 0 '\000', ev_parent = 0x0, 
> ev_group = 0x0, ev_name = 0x0}, is_flags = 0, is_type = 0, is_idtvec = 
> 0, is_minlevel = 0, is_evname = '\000' <repeats 31 times>,
>    is_intrid = "irq 9", '\000' <repeats 58 times>, is_xname = '\000' 
> <repeats 255 times>, is_active_cpu = 0, is_saved_evcnt = 0xc3423ba8, 
> is_list = {sqe_next = 0xc3a40e08}}
> (gdb)

Thank you for your debugging!

struct intrsource must be initialized in intr_establish(), however
the *isp isn't. It seems the *isp whose is_intrid=="irq 9" is wm(4),
because there is no such device in your last mail "intrctl list"
when boot -1 . So, I think my workaround patch does not wholly fit
your "boot -1" environment.

I implement fix code, but it will take a while to do it...

Could you keep using the workaround code and avoiding "intrctl list" ?
Please use "vmstat -e" instead of "intrctl list" if you want to know
interrupt count, sorry.


Thanks,

-- 
//////////////////////////////////////////////////////////////////////
Internet Initiative Japan Inc.

Device Engineering Section,
IoT Platform Development Department,
Network Division,
Technology Unit

Kengo NAKAHARA <k-nakahara%iij.ad.jp@localhost>


Home | Main Index | Thread Index | Old Index