[PATCH v5 5/5] msm: add SMP support for msm

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Dec 15 11:03:23 EST 2010


On Wed, Dec 15, 2010 at 05:44:14AM -0800, David Brown wrote:
> On Wed, Dec 15, 2010 at 12:35:18PM +0000, Catalin Marinas wrote:
> > On 14 December 2010 04:50, Jeff Ohlstein <johlstei at codeaurora.org> wrote:
> > > +       outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));
> > > +       __asm__("sev");
> > > +       dsb();
> > 
> > What's the need for the dsb() here (one before SEV maybe)?
> > 
> > Also, do we need to add a "memory" clobber to the SEV asm, not sure
> > whether the compiler would try to reorder the code.
> 
> It doesn't seem to, but it seems to me that it would be allowed to,
> so, I would think the "memory" clobber should be there.

For each difference in the SMP and hotplug code from Realview (if it's
mostly identical to Realview), I'd personally like to see explainations
why it's necessary, either as comments in the code or at the very least
in the commit log.

As far as hotplug code goes, I wish folk would see what their hardware
can actually do with the secondary CPUs - can they take the CPU fully
offline and into a proper dormant state, and when they reawaken it, can
they wake it in the same manner as the CPU is brought online during
boot.

Realview doesn't do this because it can't reset the secondary CPUs
independent of the boot CPU, so the pattern it gives you should not
be followed unless your hardware is similarly restricted.



More information about the linux-arm-kernel mailing list