diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2019-11-19 13:14:29 +0100 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2019-12-17 13:32:46 +0100 |
commit | 9f0bff1180efc9ea988fed3fd93da7647151ac8b (patch) | |
tree | 13096867567558a3eb31ceaeb3b4dbc3c04088b7 /kernel | |
parent | 92ca7da4bdc24d63bb0bcd241c11441ddb63b80a (diff) | |
download | linux-9f0bff1180efc9ea988fed3fd93da7647151ac8b.tar.gz linux-9f0bff1180efc9ea988fed3fd93da7647151ac8b.tar.bz2 linux-9f0bff1180efc9ea988fed3fd93da7647151ac8b.zip |
perf/core: Add SRCU annotation for pmus list walk
Since commit
28875945ba98d ("rcu: Add support for consolidated-RCU reader checking")
there is an additional check to ensure that a RCU related lock is held
while the RCU list is iterated.
This section holds the SRCU reader lock instead.
Add annotation to list_for_each_entry_rcu() that pmus_srcu must be
acquired during the list traversal.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Link: https://lkml.kernel.org/r/20191119121429.zhcubzdhm672zasg@linutronix.de
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/events/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 4ff86d57f9e5..a1f8bde19b56 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -10523,7 +10523,7 @@ again: goto unlock; } - list_for_each_entry_rcu(pmu, &pmus, entry) { + list_for_each_entry_rcu(pmu, &pmus, entry, lockdep_is_held(&pmus_srcu)) { ret = perf_try_init_event(pmu, event); if (!ret) goto unlock; |