Date: Wed, 13 May 2009 12:48:08 -0400 From: John Baldwin <jhb@freebsd.org> To: pluknet <pluknet@gmail.com> Cc: freebsd-stable@freebsd.org Subject: Re: lock up in 6.2 (procs massively stuck in Giant) Message-ID: <200905131248.08465.jhb@freebsd.org> In-Reply-To: <a31046fc0905130841p6c762d95h40ec989bd0355c9d@mail.gmail.com> References: <a31046fc0904292336w17aca317hefd32dad5bc28007@mail.gmail.com> <200905131015.27431.jhb@freebsd.org> <a31046fc0905130841p6c762d95h40ec989bd0355c9d@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 13 May 2009 11:41:22 am pluknet wrote: > 2009/5/13 John Baldwin <jhb@freebsd.org>: > > On Wednesday 13 May 2009 2:40:33 am pluknet wrote: > >> 2009/5/13 pluknet <pluknet@gmail.com>: > >> > 2009/5/13 John Baldwin <jhb@freebsd.org>: > >> >> On Tuesday 12 May 2009 4:59:19 pm pluknet wrote: > >> >>> Hi. > >> >>> > >> >>> From just another box (not from the first two mentioned earlier) > >> >>> with a similar locking issue. If it would make sense, since there = are > >> >>> possibly a bit different conditions. > >> >>> clock proc here is on swi4, I hope it's a non-important difference. > >> >>> > >> >>> =A0 =A018 =A0 =A0 0 =A0 =A0 0 =A0 =A0 0 =A0LL =A0 =A0 *Giant =A0 = =A00xd0a6b140 [swi4: clock=20 sio] > >> >>> db> bt 18 > >> >> > >> >> Ok, this is a known issue in 6.x. =A0It is fixed in 6.4. > >> >> > >> > >> Looking at the face of kern_timeout.c I suspect that was fixed in=20 r181012. > > > > No, this particular issue is fixed by a change to sched_4bsd.c in r1799= 75. > > >=20 > Gah.. We constrained to use ule scheduler on 6.x (yes, I know that > "it's known to be broken (c)"), since we have had a very bad interactivity > on 4bsd on our workload. Ok, that's just another reason to move to 7.x. Hmmm I would have thought ULE wouldn't have suffered from this bug. The=20 problem on 4BSD was if softclock ever blocked on Giant and the thread that= =20 held Giant was on a run queue and pinned to a specific CPU but that another= =20 userland thread was running on that CPU already, the userland thread would= =20 never yield the CPU so long as it kept busy since the round robin timeout=20 would never run. =2D-=20 John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905131248.08465.jhb>