ARM: 6833/1: perf: add required isbs() to ARMv7 backend
authorWill Deacon <will.deacon@arm.com>
Fri, 25 Mar 2011 12:12:23 +0000 (13:12 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 26 Mar 2011 10:06:09 +0000 (10:06 +0000)
commitd25d3b4c4d0e27975ee659a64b6d29f02fdbfde4
tree649a912d82c53b372389eea0e4ea29f3a85bf201
parentfb4fe87d79511398a68000d2100c825f54b51652
ARM: 6833/1: perf: add required isbs() to ARMv7 backend

The ARMv7 architecture does not guarantee that effects from co-processor
writes are immediately visible to following instructions.

This patch adds two isbs to the ARMv7 perf code:

(1) Immediately after selecting an event register, so that the PMU state
    following this instruction is consistent with the new event.

(2) Immediately before writing to the PMCR, so that any previous writes
    to the PMU have taken effect before (typically) enabling the
    counters.

Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/perf_event_v7.c