[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1173262259.9349.40.camel@localhost.localdomain>
Date: Wed, 07 Mar 2007 11:10:59 +0100
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: Tsutomu OWA <tsutomu.owa@...hiba.co.jp>, linuxppc-dev@...abs.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC] [patch 4/6 -rt] powerpc 2.6.20-rt8: fix a runtime
warnings for xmon
On Wed, 2007-03-07 at 10:16 +0100, Ingo Molnar wrote:
> * Tsutomu OWA <tsutomu.owa@...hiba.co.jp> wrote:
>
> > @@ -342,6 +342,7 @@ static int xmon_core(struct pt_regs *reg
> >
> > msr = mfmsr();
> > mtmsr(msr & ~MSR_EE); /* disable interrupts */
> > + preempt_disable();
>
> i'm not an xmon expert, but maybe it might make more sense to first
> disable preemption, then interrupts - otherwise you could be preempted
> right after having disabled these interrupts (and be scheduled to
> another CPU, etc.). What is the difference between local_irq_save() and
> the above 'disable interrupts' sequence? If it's not the same and
> xmon_core() relied on having hardirqs disabled then it might make sense
> to do a local_irq_save() there, instead of a preempt_disable().
powerpc 64 bits nowadays does lazy HW masking, so local_irq_disable()
will not actually switch MSR_EE off. However, xmon needs that to happen
(though we have a nicer accessor to do it, I suspect some bitrot need
fixing in there, possibly already fixed in .21)
I agree that preempt_disable() should be put before the MSR tweaking
though.
Ben.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists