On Thu, 19 Jul 2007, Rene Ladan wrote: > Jeff Roberson schreef: >> >> On Wed, 18 Jul 2007, Rene Ladan wrote: >> >>> Jeff Roberson schreef: >>>> >>>> On Wed, 18 Jul 2007, Rene Ladan wrote: >>>> >>>>> Jeff Roberson schreef: >>>>>> http://people.freebsd.org/~jeff/ule.diff >>>>>> >>>>>> This patch is scheduled for inclusion in 7.0. I would like anyone who >>>>>> cares to run it to validate that it does not create any stability or >>>>>> performance regression over the existing ULE. This patch replaces ULE >>>>>> with SCHED_SMP, which will now no longer exist as a seperate fork of >>>>>> ULE. >>>>> [..] >>>>> >>>>> I cvsupped this evening at 19:34 UTC. The new ULE scheduler works fine >>>>> in single-user mode (it survives "make kernel"), but when I go to >>>>> multi-user mode I get a "sched_add: trying to run inhibited thread" >>>>> panic (2 vmcores lost due to fsck :( ) >>>> >>>> Can you get me a backtrace? You can enable KDB and DDB in your kernel >>>> along with INVARIANTS. Just type 'tr' and record the function names >>>> >>> >>> I found a file #165060 in /var/lost+found . kgdb didn't eat it, but >>> strings >>> could still extract the attached backtrace. In case you want to >>> recompile >>> the kernel, it is compiled with -O1 -pipe -march=prescott >>> -fno-strict-aliasing >> >> Can you run gdb kernel.debug from your compile directory. Then type: >> >> list *(sched_switch+0x26e) >> >> I need to know the line number of that call. > Thank you. This is definitely a KSE/ULE problem. Can you try http://people.freebsd.org/~jeff/sched_ule.c? I have made some changes that may fix this. Thanks, Jeff > Sure: > root_at_195-241-221-201:/usr/obj/usr/src/sys/RENE#gdb kernel.debug > (gdb) list *(sched_switch+0x26e) > 0xc051c7b0 is in sched_switch (/usr/src/sys/kern/sched_ule.c:1761). > 1756 /* XXX This is bogus. What if the thread is locked elsewhere? */ > 1757 td->td_lock = TDQ_LOCKPTR(tdq); > 1758 td->td_sched->ts_cpu = cpuid; > 1759 tdq_add(tdq, td, SRQ_YIELDING); > 1760 } > 1761 newtd = choosethread(); > 1762 /* > 1763 * Call the MD code to switch contexts if necessary. > 1764 */ > 1765 if (td != newtd) { > > This on an i386. > > Regards, > Rene > -- > GPG fingerprint = E738 5471 D185 7013 0EE0 4FC8 3C1D 6F83 12E1 84F6 > (subkeys.pgp.net) > > "It won't fit on the line." > -- me, 2001 > > > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Wed Jul 18 2007 - 21:14:30 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC