On Mon, 14 Jul 2025 15:29:36 +0200
Peter Zijlstra [off-list ref] wrote:
quoted hunk ↗ jump to hunk
+#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.
-- Steve