Re: 'perf test sigtrap' failing on PREEMPT_RT_FULL

From: Sebastian Andrzej Siewior
Date: Fri Jul 28 2023 - 11:07:27 EST


On 2023-07-26 08:10:45 [+0200], Mike Galbraith wrote:
> > [   52.848925] BUG: scheduling while atomic: perf/6549/0x00000002
>
> Had bf9ad37dc8a not been reverted due to insufficient beauty, you could
> trivially make the sigtrap test a happy camper (wart tested in tip-rt).

Thank you for the pointer Mike.

I guess we need this preempt_disable_notrace() in perf_pending_task()
due to context accounting in get_recursion_context(). Would a
migrate_disable() be sufficient or could we send the signal outside of
the preempt-disabled block?

This is also used in perf_pending_irq() and on PREEMPT_RT this is
invoked from softirq context which is preemptible.

Sebastian