diff options
author | Yeoreum Yun <yeoreum.yun@arm.com> | 2025-03-06 15:11:06 +0300 |
---|---|---|
committer | Suzuki K Poulose <suzuki.poulose@arm.com> | 2025-03-10 13:40:26 +0300 |
commit | 6b80c0abe475ed1017c5e862636049aa1cc17a1a (patch) | |
tree | a80bcd0c61802b81460cd4245ab6bb8d23130a70 /tools/perf/scripts/python/parallel-perf.py | |
parent | e3044065fc2cf148d278475d5d03465ebf01248c (diff) | |
download | linux-6b80c0abe475ed1017c5e862636049aa1cc17a1a.tar.xz |
coresight-etb10: change etb_drvdata spinlock's type to raw_spinlock_t
In coresight-etb10 drivers, etb_drvdata->spinlock can be held
during __schedule() by perf_event_task_sched_out()/in().
Since etb_drvdata->spinlock type is spinlock_t and
perf_event_task_sched_out()/in() is called after acquiring rq_lock,
which is raw_spinlock_t (an unsleepable lock),
this poses an issue in PREEMPT_RT kernel where spinlock_t is sleepable.
To address this, change type etb_drvdata->spinlock in coresight-etb10 drivers,
which can be called by perf_event_task_sched_out()/in(),
from spinlock_t to raw_spinlock_t.
Reviewed-by: James Clark <james.clark@linaro.org>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20250306121110.1647948-6-yeoreum.yun@arm.com
Diffstat (limited to 'tools/perf/scripts/python/parallel-perf.py')
0 files changed, 0 insertions, 0 deletions