Hi Naveen, On Tue, 12 Dec 2023 14:26:07 +0530 Naveen N Rao <naveen@xxxxxxxxxx> wrote: > Add a test to exercize cpu hotplug with the function tracer active to > ensure that sensitive functions in idle path are excluded from being > traced. This helps catch issues such as the one fixed by commit > 4b3338aaa74d ("powerpc/ftrace: Fix stack teardown in ftrace_no_trace"). > > Signed-off-by: Naveen N Rao <naveen@xxxxxxxxxx> > --- > .../ftrace/test.d/ftrace/func_hotplug.tc | 30 +++++++++++++++++++ > 1 file changed, 30 insertions(+) > create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/func_hotplug.tc > > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_hotplug.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_hotplug.tc > new file mode 100644 > index 000000000000..49731a2b5c23 > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_hotplug.tc > @@ -0,0 +1,30 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0 > +# description: ftrace - function trace across cpu hotplug > +# requires: function:tracer > + > +if ! which nproc ; then > + nproc() { > + ls -d /sys/devices/system/cpu/cpu[0-9]* | wc -l > + } > +fi > + > +NP=`nproc` > + > +if [ $NP -eq 1 ] ;then > + echo "We can not test cpu hotplug in UP environment" > + exit_unresolved > +fi This looks good, but can you find the 2nd online CPU before this test? I mean, there is a case that cpu1 is already offlined and others like cpu2 is onlined. So we need to use the 2nd online cpu. Thank you, > + > +echo 0 > tracing_on > +echo > trace > +: "Set CPU1 offline/online with function tracer enabled" > +echo function > current_tracer > +echo 1 > tracing_on > +(echo 0 > /sys/devices/system/cpu/cpu1/online) > +(echo "forked"; sleep 1) > +(echo 1 > /sys/devices/system/cpu/cpu1/online) > +echo 0 > tracing_on > + > +: "Check CPU1 events are recorded" > +grep -q -e "\[001\]" trace > > base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86 > -- > 2.43.0 > -- Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>