ULE/yielding patch for testing.

Yuri Pankov yuri.pankov at gmail.com
Tue Oct 2 18:22:23 PDT 2007


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@/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...

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>


More information about the freebsd-current mailing list