Re: ULE/yielding patch for testing.

From: Jeff Roberson <jroberson_at_chesapeake.net>
Date: Tue, 2 Oct 2007 19:55:02 -0700 (PDT)
On Wed, 3 Oct 2007, Yuri Pankov wrote:

> On Wed, Oct 03, 2007 at 04:50:09AM +0400, Yuri Pankov wrote:
>> On Tue, Oct 02, 2007 at 04:53:33PM -0700, Jeff Roberson wrote:
>>> Enclosed is a patch that does two things:
>>>
>>> 1)  Reduces UP context switch time by over 10% making it faster than 4BSD
>>> on UP.  On SMP it's hard to compare since ULE can do as many as 30x as many
>>> switches per second on my 8way system.
>>>
>>> 2)  Restores old sched_yield() behavior from 6.x.  This was changed in
>>> -current unintentionally I think.
>>>
>>> I'd appreciate any extra testing.  The ULE context switch time improvements
>>> required some changes to the frequency that we recalculate priorities.  I'm
>>> mostly interested in hearing whether this causes any regression in normal
>>> workloads.
>>>
>>> Those of you still using 4BSD can also verify that the yield changes don't
>>> cause any problems there.
>>>
>>> Thanks,
>>> Jeff
>>
>> Jeff,
>>
>> Patch applied cleanly, though with new kernel I got a panic just after
>> boot - on xdm startup, I guess (crashdump wasn't saved), a lot of the same messages
>> (copied by hand):
>>
>> cpuid = 0
>> panic: _mtx_lock_sleep: recursed on non-recursive mutex
>> audit_mtx_at_/usr/src/sys/security/audit_worker.c:518
>>
>> and after few seconds system just hangs.
>>
>> Any hints?
>>
>> --
>> Yuri Pankov <yuri.pankov_at_gmail.com>
>
> Sorry for being so verbose...

Did you 'make depend' as well?  If you patch -R < yield.diff does this 
kernel work?  I'm not sure how my changes could cause this type of bug.

Thanks,
Jeff

>
> It's UP amd64 with SCHED_ULE
>
> kernel config:
>
> include         GENERIC
> ident           DARKLIGHT
>
> nooptions       SCHED_4BSD
> options         SCHED_ULE
>
> -- 
> Yuri Pankov <yuri.pankov_at_gmail.com>
>
Received on Wed Oct 03 2007 - 00:52:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:18 UTC