On Tue, Oct 02, 2007 at 09:53:29PM -0700, Jeff Roberson wrote: > On Wed, 3 Oct 2007, Yuri Pankov wrote: > >> On Tue, Oct 02, 2007 at 07:55:02PM -0700, Jeff Roberson wrote: >>> 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 >>> >> >> I'm rebuilt kernel with and without your patch (with clean /usr/obj/ every >> time) >> using `make kernel KERNCONF=DARKLIGHT` just to be sure. >> >> Without your patch, system seems to run stable. With it - I get hard hangs >> upon >> just loading X or upon xdm startup or after xdm login, every time the >> same. No >> messages now, just hangs. Nothing suspicious in /var/log/messages, etc. >> >> Xorg 7.3 with xf86-video-nv, all ports built yesterday (it was fresh >> install). >> >> Anything that I should look at? (as it can be just pilot error). > > The attached diff is only the changes the fix yield() and sched_yield() to > pre-CURRENT states. Can you try this on its own and let me know if it > works so I can narrow down the part of the patch causing trouble? > > Thanks, > Jeff > Works fine so far (at least I'm able to login through xdm and run apps :-). Thanks Jeff. -- Yuri Pankov <yuri.pankov_at_gmail.com>Received on Wed Oct 03 2007 - 03:37:32 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:18 UTC