ULE/SCHED_SMP diff for 7.0
Rene Ladan
r.c.ladan at gmail.com
Wed Jul 18 23:02:06 UTC 2007
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.
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
More information about the freebsd-current
mailing list