On Mon, Jul 14, 2025 at 10:19:19AM -0400, Steven Rostedt wrote:
On Mon, 14 Jul 2025 15:29:36 +0200
Peter Zijlstra [off-list ref] wrote:
quoted
+#ifdef CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG
+#define UNWIND_NMI_SAFE 1
+static inline bool try_assign_cnt(struct unwind_task_info *info, u32 cnt)
+{
+ u32 zero = 0;
+ return try_cmpxchg(&info->id.cnt, &zero, cnt);
+}
+static inline bool test_and_set_pending(struct unwind_task_info *info)
+{
+ return info->pending || cmpxchg_local(&info->pending, 0, 1);
+}
+#el
Patch 10 moves the pending bit into the unwind_mask as it needs to be
in sync with the different tracer requests. I'm not sure how this
change will interact with that.
Urgh; so I hate reviewing code you're ripping out in the next patch :-(
Let me go stare at that.