diff --git a/kernel/sched/core.c b/kernel/sched/core.c index f68625ec8cf8..ddc508634516 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3964,6 +3964,7 @@ static inline void preempt_latency_stop(int val) trace_sched_preempt_disable(delta, ps->irqs_disabled, ps->caddr[0], ps->caddr[1], ps->caddr[2], ps->caddr[3]); + ps->ts = 0; trace_preempt_on(CALLER_ADDR0, get_lock_parent_ip()); } } diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c index fc002732c38c..741c94432797 100644 --- a/kernel/trace/trace_irqsoff.c +++ b/kernel/trace/trace_irqsoff.c @@ -640,6 +640,7 @@ void tracer_hardirqs_on(unsigned long a0, unsigned long a1) delta > sysctl_irqsoff_tracing_threshold_ns) trace_irqs_disable(delta, is->caddr[0], is->caddr[1], is->caddr[2], is->caddr[3]); + is->ts = 0; lockdep_on(); #endif /* CONFIG_PREEMPTIRQ_EVENTS */