ARM: smp: flush L1 cache in cpu_die()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 18 Apr 2013 17:05:29 +0000 (18:05 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 18 Apr 2013 19:08:04 +0000 (20:08 +0100)
commit51acdfd1fa38a2bf1003255be9f105c19fbc0176
treeb1195cfa0a049e91369ce1de5a524ca239a114b5
parentda2265b130f6b5be3b874bb2832335887fe59461
ARM: smp: flush L1 cache in cpu_die()

Flush the L1 cache for the CPU which is going down in cpu_die() so
that we don't end up with all platforms doing this.  This ensures
that any cache lines we own are pushed out before the cache becomes
inaccessible.

We may end up subsequently creating some dirty cache lines - for
example, with the complete() call, but this update must become
visible to other CPUs before __cpu_die() can proceed.  Subsequent
accesses from the platforms cpu_die() function should _not_ matter.

Also place a mb() after the complete() call to ensure that this is
visible to other CPUs.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/smp.c