Date: Wed, 3 Oct 2007 08:37:24 +0400 From: Yuri Pankov <yuri.pankov@gmail.com> To: Jeff Roberson <jroberson@chesapeake.net> Cc: current@freebsd.org Subject: Re: ULE/yielding patch for testing. Message-ID: <20071003043724.GA1113@darklight.abyss> In-Reply-To: <20071002195415.I615@10.0.0.1> References: <20071002165007.D587@10.0.0.1> <20071003005009.GA1103@darklight.abyss> <20071003012155.GA1327@darklight.abyss> <20071002195415.I615@10.0.0.1>
next in thread | previous in thread | raw e-mail | index | archive | help
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@/usr/src/sys/security/audit_worker.c:518 >>> >>> and after few seconds system just hangs. >>> >>> Any hints? >>> >>> -- >>> Yuri Pankov <yuri.pankov@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). TIA. >> >> It's UP amd64 with SCHED_ULE >> >> kernel config: >> >> include GENERIC >> ident DARKLIGHT >> >> nooptions SCHED_4BSD >> options SCHED_ULE >> >> -- >> Yuri Pankov <yuri.pankov@gmail.com> >> -- Yuri Pankov <yuri.pankov@gmail.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071003043724.GA1113>