Subject: Re: MP Panic (Re: CVS commit: src/sys) with src/sys/kern/kern_synch.c
To: Geoff Wing <mason@primenet.com.au>
From: Andrew Doran <ad@netbsd.org>
List: current-users
Date: 10/03/2007 14:27:04
Hi,

On Tue, Oct 02, 2007 at 05:22:52AM +0000, Geoff Wing wrote:

> Andrew Doran <ad@netbsd.org> typed:
> : Module Name:	src
> : Committed By:	ad
> : Date:		Mon Oct  1 22:14:24 UTC 2007
> :
> : Modified Files:
> : 	src/sys/kern: kern_idle.c kern_synch.c
> : 	src/sys/sys: cpu.h
> :
> : Log Message:
> : Enter mi_switch() from the idle loop if ci_want_resched is set. If there
> : are no jobs to run it will clear it while under lock. Should fix idle.
> :
> : To generate a diff of this commit:
> : cvs rdiff -r1.4 -r1.5 src/sys/kern/kern_idle.c
> : cvs rdiff -r1.195 -r1.196 src/sys/kern/kern_synch.c
> : cvs rdiff -r1.11 -r1.12 src/sys/sys/cpu.h
> 
> I'm guessing the last change in  kern_synch.c  should be
> 	KDASSERT(ci == curcpu());
> and not
> 	KDASSERT(l->l_cpu == ci);

Almost, it should be l->l_cpu == curcpu(). Should be fixed as of yesterday.

Thanks,
Andrew