On Fri, 16 Feb 2024 15:26:26 +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> > Acked-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> Acked-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> Shuah, can you take this? Thanks, -- Steve > --- > .../ftrace/test.d/ftrace/func_hotplug.tc | 42 +++++++++++++++++++ > 1 file changed, 42 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..ccfbfde3d942 > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_hotplug.tc > @@ -0,0 +1,42 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0-or-later > +# 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 cannot test cpu hotplug in UP environment" > + exit_unresolved > +fi > + > +# Find online cpu > +for i in /sys/devices/system/cpu/cpu[1-9]*; do > + if [ -f $i/online ] && [ "$(cat $i/online)" = "1" ]; then > + cpu=$i > + break > + fi > +done > + > +if [ -z "$cpu" ]; then > + echo "We cannot test cpu hotplug with a single cpu online" > + exit_unresolved > +fi > + > +echo 0 > tracing_on > +echo > trace > + > +: "Set $(basename $cpu) offline/online with function tracer enabled" > +echo function > current_tracer > +echo 1 > tracing_on > +(echo 0 > $cpu/online) > +(echo "forked"; sleep 1) > +(echo 1 > $cpu/online) > +echo 0 > tracing_on > +echo nop > current_tracer > > base-commit: 130a83879954a9fed35cf4474d223b4fcfd479fa