Re: [PATCH v5 3/7] arm64: perf: Remove PMU locking
flat view
From: Will Deacon <will@kernel.org>
Date: 2020-07-03 13:45:24
Also in:
lkml
On Fri, Jun 19, 2020 at 01:29:59AM -0700, Stephen Boyd wrote:
Quoting Alexandru Elisei (2020-06-18 03:51:31)quoted
The armv8pmu_{start,stop}() functions are called from the irq handler, so we're safe from preemption in this case. They are also called via pmu->pmu_{enable,disable} callbacks, and I didn't find an explicit contract regarding preemption in include/linux/perf_event.h. I've checked the other call sites, and I didn't find any instances where they are called with preemption enabled, which makes sense as we don't want to disable the PMU on a another CPU by accident.If they're all callbacks then it's overkill to add this. Presumably it is better to enforce this wherever the callbacks are called from so as to not litter the callee with random cant_sleep() calls. Probably best to ignore my suggestion.quoted
I would be inclined to add cant_sleep() calls to armv8pmu_{start,stop}(). In the previous iteration, there were WARN_ONs in these functions, and Will said [1] they can be removed because they are per-CPU operations. Will, what do you think about adding the lockdep assertions? [1] https://www.spinics.net/lists/arm-kernel/msg745161.htmlIf I read it correctly Will is saying the same thing in that thread.
Right, in the cases where perf core already relies on things not being preemptible, we don't need to add extra checks. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel