On Thu, Mar 07, 2002 at 10:40:07AM +0900, I wrote: > > Apparently you have KTR enabled (not the default in GENERIC). I think > > WITNESS+KTR already caused nasty recursion from the mtx_lock_spin, and > > we now get an endless loop when nanotime() is called with an invalid > > timecounter in the following call chain: > > > > tc_init -> tc_windup -> tco_delta -> i8254_get_timecount -> mtx_foo -> > > witness_foo -> ktr_foo -> nanotime, > > > > just after nanotime has somehow recursed back into i8254_get_timecounter > > without causing endless recursion! > > Yes, I have the following KTR options enabled (I think I brought this from > NOTES about a year before): > options KTR > options KTR_EXTEND > options KTR_ENTRIES=1024 > options KTR_COMPILE=0x3fffff > options KTR_MASK=0x201208 > options KTR_CPUMASK=0x3 > > but WITNESS is commented out. > > > Try setting MTX_NOWITNESS in the initialization of clock_lock in > > i386/machdep.c. > > O.k., I'll try this(but does it affect a kernel without WITNESS?), then > try a kernel without KTR options.
I've found the following: - KTR alone can make this happen; it locked solid with or without WITNESS. - Setting MTX_NOWITNESS in the initialization of clock_lock didn't work. - If I disable KTR, it just works fine without any patches. - If I enable KTR with KTR_LOCK in "options KTR_MASK", it freezes after Timecounter "i8254" frequency 1193182 Hz message. - If I enable KTR without KTR_LOCK in "options KTR_MASK", it boots but it locks solid the moment I inserted a pccard (I'm using OLDCARD). To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message