panic on one cpu leaves others running...

John Baldwin jhb at FreeBSD.org
Wed Apr 14 08:42:13 PDT 2004


On Thursday 08 April 2004 02:59 pm, Marcel Moolenaar wrote:
> On Thu, Apr 08, 2004 at 11:51:24AM -0400, Robert Watson wrote:
> > > > Presumably in large part because I'm in code that doesn't require
> > > > Giant, so there are no lock conflicts.
> > >
> > > I don't think that's the case. It think we're just not stopping the
> > > CPUs or keep them stopped.
> >
> > I agree with that interpretation -- I was suggesting that the reason this
> > problem might not be noticed is that a lot of our code paths require
> > Giant, and it's only when you panic in code without Giant that
>
> Ah, ok. The thing that strikes me as odd, if not wrong, is that we
> use PCPU(CPUID) to update the stopped_cpus mask, while we should be
> using PCPU(CPUMASK) for that. See attached patch (untested).
>
> Am I off-base here?

Yes.  btsl takes a bit number, not a bitmask.

-- 
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