Re: [PATCH v10 07/14] unwind_user/deferred: Make unwind deferral requests NMI-safe
From: Steven Rostedt
Date: Thu Jun 19 2025 - 06:20:12 EST
On June 19, 2025 5:45:05 AM EDT, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>On Thu, Jun 19, 2025 at 05:42:31AM -0400, Steven Rostedt wrote:
>>
>>
>> On June 19, 2025 5:32:26 AM EDT, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> >On Thu, Jun 19, 2025 at 05:07:10AM -0400, Steven Rostedt wrote:
>> >
>> >> Does #DB make in_nmi() true? If that's the case then we do need to handle that.
>> >
>> >Yes: #DF, #MC, #BP (int3), #DB and NMI all have in_nmi() true.
>> >
>> >Ignoring #DF because that's mostly game over, you can get them all
>> >nested for up to 4 (you're well aware of the normal NMI recursion
>> >crap).
>>
>> We probably can implement this with stacked counters.
>
>I would seriously consider dropping support for anything that can't do
>cmpxchg at the width you need.
That may be something we can do as it's a new feature and unlike the ftrace ring buffer, it won't be a regression not to support them.
We currently care about x86-64, arm64, ppc 64 and s390. I'm assuming they all have a proper 64 bit cmpxchg.
-- Steve