From 2f529f9b558ca1c1bd74be7437a84e4711743404 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 01 Nov 2024 02:11:33 +0000 Subject: [PATCH] add xenomai --- kernel/kernel/trace/trace.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) diff --git a/kernel/kernel/trace/trace.c b/kernel/kernel/trace/trace.c index 8b1f74e..f339a56 100644 --- a/kernel/kernel/trace/trace.c +++ b/kernel/kernel/trace/trace.c @@ -1129,9 +1129,9 @@ return; } - local_irq_save(flags); + flags = hard_local_irq_save(); update_max_tr(tr, current, smp_processor_id(), cond_data); - local_irq_restore(flags); + hard_local_irq_restore(flags); } void tracing_snapshot_instance(struct trace_array *tr) @@ -1822,7 +1822,7 @@ if (tr->stop_count) return; - WARN_ON_ONCE(!irqs_disabled()); + WARN_ON_ONCE(!hard_irqs_disabled()); if (!tr->allocated_snapshot) { /* Only the nop tracer should hit this when disabling */ @@ -1866,7 +1866,7 @@ if (tr->stop_count) return; - WARN_ON_ONCE(!irqs_disabled()); + WARN_ON_ONCE(!hard_irqs_disabled()); if (!tr->allocated_snapshot) { /* Only the nop tracer should hit this when disabling */ WARN_ON_ONCE(tr->current_trace != &nop_trace); @@ -2626,12 +2626,14 @@ entry->flags = #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT (irqs_disabled_flags(flags) ? TRACE_FLAG_IRQS_OFF : 0) | -#else + (hard_irqs_disabled() ? TRACE_FLAG_IRQS_HARDOFF : 0) | +#elif !defined(CONFIG_IRQ_PIPELINE) TRACE_FLAG_IRQS_NOSUPPORT | #endif ((pc & NMI_MASK ) ? TRACE_FLAG_NMI : 0) | ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) | ((pc & SOFTIRQ_OFFSET) ? TRACE_FLAG_SOFTIRQ : 0) | + (running_oob() ? TRACE_FLAG_OOB_STAGE : 0) | (tif_need_resched() ? TRACE_FLAG_NEED_RESCHED : 0) | (test_preempt_need_resched() ? TRACE_FLAG_PREEMPT_RESCHED : 0); } @@ -7085,13 +7087,13 @@ ret = tracing_alloc_snapshot_instance(tr); if (ret < 0) break; - local_irq_disable(); + hard_local_irq_disable(); /* Now, we're going to swap */ if (iter->cpu_file == RING_BUFFER_ALL_CPUS) update_max_tr(tr, current, smp_processor_id(), NULL); else update_max_tr_single(tr, current, iter->cpu_file); - local_irq_enable(); + hard_local_irq_enable(); break; default: if (tr->allocated_snapshot) { -- Gitblit v1.6.2