diff options
author | Will Deacon <will.deacon@arm.com> | 2018-09-13 15:56:16 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-12-07 17:28:06 +0000 |
commit | 959bf2fd03b59fc107584c21425f3dc73c49f762 (patch) | |
tree | abbe029ffb9c8c1f720b7954931057dd1ba32e35 /tools/perf/scripts/python/netdev-times.py | |
parent | b4f9209bfcd5964551de434342818334ab9c8c7e (diff) |
arm64: percpu: Rewrite per-cpu ops to allow use of LSE atomics
Our percpu code is a bit of an inconsistent mess:
* It rolls its own xchg(), but reuses cmpxchg_local()
* It uses various different flavours of preempt_{enable,disable}()
* It returns values even for the non-returning RmW operations
* It makes no use of LSE atomics outside of the cmpxchg() ops
* There are individual macros for different sizes of access, but these
are all funneled through a switch statement rather than dispatched
directly to the relevant case
This patch rewrites the per-cpu operations to address these shortcomings.
Whilst the new code is a lot cleaner, the big advantage is that we can
use the non-returning ST- atomic instructions when we have LSE.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'tools/perf/scripts/python/netdev-times.py')
0 files changed, 0 insertions, 0 deletions