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@xxxxxxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html