[PATCH RESEND] events:core.c: Use built-in RCU list checking

From: madhuparnabhowmik10
Date: Fri Feb 14 2020 - 11:45:14 EST


From: Madhuparna Bhowmik <madhuparnabhowmik10@xxxxxxxxx>

list_for_each_entry_rcu has built-in RCU and lock checking.

Pass cond argument to list_for_each_entry_rcu() to silence
false lockdep warning when CONFIG_PROVE_RCU_LIST is enabled
by default.

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@xxxxxxxxx>
---
kernel/events/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index 4ff86d57f9e5..04d28f3eb8df 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -3760,7 +3760,8 @@ static void perf_adjust_freq_unthr_context(struct perf_event_context *ctx,
raw_spin_lock(&ctx->lock);
perf_pmu_disable(ctx->pmu);

- list_for_each_entry_rcu(event, &ctx->event_list, event_entry) {
+ list_for_each_entry_rcu(event, &ctx->event_list, event_entry,
+ lockdep_is_held(&ctx->lock)) {
if (event->state != PERF_EVENT_STATE_ACTIVE)
continue;

--
2.17.1