hi, > On Wed, Nov 18, 2009 at 03:51:02AM +0000, YAMAMOTO Takashi wrote: >> > 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. > > If you have suggestions for providing a comparable function that is less > ad-hoc, let me know. > >> - 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. > > Thanks for pointing this out. I am not going to move it from sys/kern/, > since it is fairly easy to make it MI. I will compare IPL values with > == and !=, and write an MI stub for return_address(9) that returns NULL > on non-i386. > >> - there are other places where the spl value is modified. >> eg. interrupt stubs, lock stubs, etc. > > Code references, please?
"grep ILEVEL *.S" eg. mutex_spin_enter, intr_lapic_ltimer, etc > >> - can you explain "cpu_index(ci) > MAXCPUS" and "cpu_index(ci) >= MAXCPUS" ? > > Typo. why are these checks necessary in the first place? YAMAMOTO Takashi > > Dave > > -- > David Young OJC Technologies > dyo...@ojctech.com Urbana, IL * (217) 278-3933