Re: [PATCH v2] selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT

From: Steven Rostedt
Date: Thu Feb 10 2022 - 10:05:50 EST


On Thu, 10 Feb 2022 15:13:15 +0100
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> wrote:


> >> The implementation detail is that do_softirq() is in ifndef.
> >
> > So let me ask again. We have
> > FUNC1="schedule"
> > FUNC2="do_softirq"
> >
> > What is the purpose of this? Do you need FUNC2 when ksoftirqd is run or
> > when softirqs are served? Not sure how scheduler_tick fits in all this.
>
> I guess this is more a question to the author of the test. Unless you
> are now questioning the entire purpose of this test?

The test is just a smoke test on function triggers. These two functions
have various triggers attached to them to see if it causes any harm (the
test was added after some strange bugs happened in the past).

Now, if "_printk" worked, it suggests that I need to look into this test
because I'm guessing _printk would never trigger during the test. The
reason we picked schedule and do_softirq was to get triggers in different
contexts (do_softirq was in the softirq context, and schedule is in the
normal context). The reason I suggested to pick "schedule_tick" is because
that should happen in the interrupt context.

But if _printk worked, then it probably didn't test that part. But that's a
different bug than what this patch is addressing.

Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

And I need to add to my TODO list, to look at this test and probably
rewrite. it. :-p

-- Steve