Re: [4.4-rt PATCH] trace: use rcuidle version for preemptoff_hist trace point

From: Sebastian Andrzej Siewior
Date: Mon Mar 07 2016 - 13:00:24 EST


* Yang Shi | 2016-02-23 13:23:23 [-0800]:

>I recall the rcuidle version is used by 4.1-rt, but not sure why it is dropped
>in 4.4-rt. It looks such fix is still needed.

I don't recall while I removed it. It was durring v4.1 -> v4.4 port. In
v4.1 we had the idle version only in time_hardirqs_on() + â_off(). You
introduced it also to start_critical_timings() + stop_â(). Is this
required?
In the meantime I bring back the empty macro of
trace_preemptirqsoff_hist_rcuidle() back in -RT sine it breaks compile
latest v4.4.3-RT9

> kernel/trace/trace_irqsoff.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c
>index 36e584f..069942c 100644
>--- a/kernel/trace/trace_irqsoff.c
>+++ b/kernel/trace/trace_irqsoff.c
>@@ -421,13 +421,13 @@ void start_critical_timings(void)
> {
> if (preempt_trace() || irq_trace())
> start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
>- trace_preemptirqsoff_hist(TRACE_START, 1);
>+ trace_preemptirqsoff_hist_rcuidle(TRACE_START, 1);
> }
> EXPORT_SYMBOL_GPL(start_critical_timings);
>
> void stop_critical_timings(void)
> {
>- trace_preemptirqsoff_hist(TRACE_STOP, 0);
>+ trace_preemptirqsoff_hist_rcuidle(TRACE_STOP, 0);
> if (preempt_trace() || irq_trace())
> stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
> }

Sebastian