[PATCH v2] ARM, ARM64, LONGARCH: Delay HW BP notification to task_work()
Sebastian Andrzej Siewior
bigeasy at linutronix.de
Thu Sep 3 09:07:10 PDT 2026
On 2026-08-14 10:51:18 [+0200], To linux-arm-kernel at lists.infradead.org wrote:
> Waiman, Luis, Ada reported that HW breakpoints on ARM64 trigger
> "sleeping while atomic" warnings on PREEMPT_RT. The hardware event is
> delivered with disabled interrupts and perf intrastrucure expects
> disabled interrupts while the overflow callback is invoked.
>
> The callback then sends a SIGTRAP signal for which it acquires
> sighand_struct::siglock, a spinlock_t which becomes a sleeping lock and
> must not be acquired in atomic context.
>
> Delay the event callback until the return to userland.
> Add perf_arch_hwbp_notify(), a generic perf callback which delayes the
> actual callback invocation to task_work_add() callback. This callback
> invokes the architecture defines callback arch_hwbp_send_sig().
> This requires struct callback_head and the functions require
> ARCH_NEED_PERF_HW_NOTIF to be defined.
>
> This was reported against ARM64. ARM and LongARCH follow the same
> pattern are also converted.
>
> Reported-by: Luis Claudio R. Goncalves <lgoncalv at redhat.com>
> Reported-by: Waiman Long <longman at redhat.com>
> Closes: https://lore.kernel.org/all/aho0eqjMESuHxECr@redhat.com/
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Did this get lost, should I repost it or is there something obviously
wrong with it and nobody wanted to hurt my feelings by telling me?
Sebastian
More information about the linux-arm-kernel
mailing list