arm64: perf: Defer irq_work to IPI_IRQ_WORK
perf_event_overflow() can queue an irq_work on the current PE, which is executed via an IPI. Move the processing of the irq_work from the PMU IRQ handler to the IPI handler, which will get executed immediately afterwards. This also makes the IRQ handler NMI safe, because it removes the call to irq_work_run(). Signed-off-by:Julien Thierry <julien.thierry@arm.com> [Reworded commit] Signed-off-by:
Alexandru Elisei <alexandru.elisei@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com>
Loading
Please register or sign in to comment