Re: [PATCH v3 2/4] perf: Enqueue SIGTRAP always via task_work.

From: Sebastian Andrzej Siewior
Date: Wed Apr 10 2024 - 10:54:52 EST


On 2024-04-10 16:42:56 [+0200], Frederic Weisbecker wrote:
> > > Like this then?
> > >
> > > https://lore.kernel.org/all/202403310406.TPrIela8-lkp@xxxxxxxxx/T/#m63c28147d8ac06b21c64d7784d49f892e06c0e50
> >
> > Kind of, yes. Do we have more than one waiter? If not, maybe that
> > rcuwait would work then.
>
> Indeed there is only one waiter so that should work. Would
> that be something you can call while preemption is disabled?

rcuwait_wake_up() does only wake_up_process() which is fine.
wake_up() does spin_lock_irqsave() which is a no.

On the other hand that preempt-disable needs to go anyway due to
perf_sigtrap(). But a slim wake is a slim wake ;)

> Thanks.

Sebastian