hi, > Module Name: src > Committed By: dyoung > Date: Tue Nov 3 05:23:28 UTC 2009 > > Modified Files: > src/sys/arch/i386/conf: files.i386 > src/sys/arch/i386/i386: spl.S > src/sys/arch/x86/x86: patch.c > src/sys/arch/xen/conf: files.xen > src/sys/kern: init_main.c kern_stub.c subr_prf.c > src/sys/sys: systm.h > Added Files: > src/sys/kern: subr_spldebug.c > src/sys/sys: spldebug.h > > Log Message: > Add a kernel configuration flag, SPLDEBUG, that activates a per-CPU log > of transitions to IPL_HIGH from lower IPLs. SPLDEBUG is only available > on i386 and Xen kernels, today. > > 'options SPLDEBUG' adds instrumentation to spllower() and splraise() as > well as routines to start/stop debugging and to record IPL transitions: > spldebug_start(), spldebug_stop(), spldebug_raise(), spldebug_lower().
this seems too ad-hoc to me. - please don't put MD code like this in kern/. IPL_ values can't be compared with >= in MI code. return_address.9 is in man.i386. - there are other places where the spl value is modified. eg. interrupt stubs, lock stubs, etc. - can you explain "cpu_index(ci) > MAXCPUS" and "cpu_index(ci) >= MAXCPUS" ? YAMAMOTO Takashi > > > To generate a diff of this commit: > cvs rdiff -u -r1.351 -r1.352 src/sys/arch/i386/conf/files.i386 > cvs rdiff -u -r1.32 -r1.33 src/sys/arch/i386/i386/spl.S > cvs rdiff -u -r1.18 -r1.19 src/sys/arch/x86/x86/patch.c > cvs rdiff -u -r1.105 -r1.106 src/sys/arch/xen/conf/files.xen > cvs rdiff -u -r1.407 -r1.408 src/sys/kern/init_main.c > cvs rdiff -u -r1.20 -r1.21 src/sys/kern/kern_stub.c > cvs rdiff -u -r1.136 -r1.137 src/sys/kern/subr_prf.c > cvs rdiff -u -r0 -r1.1 src/sys/kern/subr_spldebug.c > cvs rdiff -u -r0 -r1.1 src/sys/sys/spldebug.h > cvs rdiff -u -r1.236 -r1.237 src/sys/sys/systm.h > > Please note that diffs are not public domain; they are subject to the > copyright notices on the relevant files.