Native preemption is the culprit [was Re: today's CURRENT
lockups]
John Baldwin
jhb at FreeBSD.org
Fri Jul 9 10:14:06 PDT 2004
On Thursday 08 July 2004 10:19 pm, Taku YAMAMOTO wrote:
> On Thu, 8 Jul 2004 13:17:53 -0400
>
> John Baldwin <jhb at FreeBSD.org> wrote:
> > On Thursday 08 July 2004 09:21 am, Taku YAMAMOTO wrote:
> > > greetings,
> > >
> > >
> > > A quick glance showed me that there are some interesting code paths in
> > > sched_ule.c that can be problematic in SMP case.
> > >
> > > 1. sched_choose() => kseq_idled() => sched_add()
> > > 2. sched_choose() => kseq_assign() => sched_add()
> > > 3. sched_runnable() => kseq_assign() => sched_add()
> > >
> > > Here is the patch that re-enables preemption except for the above three
> > > cases.
> >
> > This looks correct. I'll test it locally first. Has it worked for you
> > all day?
>
> My machine (HTT) has been up for 20 hours without a hang since last update.
> I tried to stress it in various ways (fsck -n, buildworld & buildkernel in
> parallel, burning a CD, etc.) but failed to crash it.
>
> I'm bit afraid since the code is not tested on real SMP machines.
> How is it going on yours?
My test machine is not a true SMP machine either, just HTT. It has been
running a -j 256 worldloop overnight with no problems, so I committed a
slightly modified version of the patch yesterday.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list