tools/testing/selftests/ftrace/ftracetest | 8 ++++++++ 1 file changed, 8 insertions(+)
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Fix to unmount the tracefs if the ftracetest mounted it for recovering
system environment. If the tracefs is already mounted, this does nothing.
Suggested-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/all/29fce076-746c-4650-8358-b4e0fa215cf7@sirena.org.uk/
Fixes: cbd965bde74c ("ftrace/selftests: Return the skip code when tracing directory not configured in kernel")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
---
tools/testing/selftests/ftrace/ftracetest | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
index cb5f18c06593..89c212d82256 100755
--- a/tools/testing/selftests/ftrace/ftracetest
+++ b/tools/testing/selftests/ftrace/ftracetest
@@ -31,6 +31,9 @@ err_ret=1
# kselftest skip code is 4
err_skip=4
+# umount required
+UMOUNT_DIR=""
+
# cgroup RT scheduling prevents chrt commands from succeeding, which
# induces failures in test wakeup tests. Disable for the duration of
# the tests.
@@ -45,6 +48,9 @@ setup() {
cleanup() {
echo $sched_rt_runtime_orig > $sched_rt_runtime
+ if [ "${UMOUNT_DIR}" ]; then
+ umount ${UMOUNT_DIR} ||:
+ fi
}
errexit() { # message
@@ -160,11 +166,13 @@ if [ -z "$TRACING_DIR" ]; then
mount -t tracefs nodev /sys/kernel/tracing ||
errexit "Failed to mount /sys/kernel/tracing"
TRACING_DIR="/sys/kernel/tracing"
+ UMOUNT_DIR=${TRACING_DIR}
# If debugfs exists, then so does /sys/kernel/debug
elif [ -d "/sys/kernel/debug" ]; then
mount -t debugfs nodev /sys/kernel/debug ||
errexit "Failed to mount /sys/kernel/debug"
TRACING_DIR="/sys/kernel/debug/tracing"
+ UMOUNT_DIR=${TRACING_DIR}
else
err_ret=$err_skip
errexit "debugfs and tracefs are not configured in this kernel"
On Sat, 9 Sep 2023 18:36:39 +0900
"Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:
> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
>
> Fix to unmount the tracefs if the ftracetest mounted it for recovering
> system environment. If the tracefs is already mounted, this does nothing.
>
> Suggested-by: Mark Brown <broonie@kernel.org>
> Link: https://lore.kernel.org/all/29fce076-746c-4650-8358-b4e0fa215cf7@sirena.org.uk/
> Fixes: cbd965bde74c ("ftrace/selftests: Return the skip code when tracing directory not configured in kernel")
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> ---
> tools/testing/selftests/ftrace/ftracetest | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
> index cb5f18c06593..89c212d82256 100755
> --- a/tools/testing/selftests/ftrace/ftracetest
> +++ b/tools/testing/selftests/ftrace/ftracetest
> @@ -31,6 +31,9 @@ err_ret=1
> # kselftest skip code is 4
> err_skip=4
>
> +# umount required
> +UMOUNT_DIR=""
> +
> # cgroup RT scheduling prevents chrt commands from succeeding, which
> # induces failures in test wakeup tests. Disable for the duration of
> # the tests.
> @@ -45,6 +48,9 @@ setup() {
>
> cleanup() {
> echo $sched_rt_runtime_orig > $sched_rt_runtime
> + if [ "${UMOUNT_DIR}" ]; then
Shouldn't the above be:
if [ ! -z "${UNMOUNT_DIR}" ]; then
?
-- Steve
> + umount ${UMOUNT_DIR} ||:
> + fi
> }
>
> errexit() { # message
> @@ -160,11 +166,13 @@ if [ -z "$TRACING_DIR" ]; then
> mount -t tracefs nodev /sys/kernel/tracing ||
> errexit "Failed to mount /sys/kernel/tracing"
> TRACING_DIR="/sys/kernel/tracing"
> + UMOUNT_DIR=${TRACING_DIR}
> # If debugfs exists, then so does /sys/kernel/debug
> elif [ -d "/sys/kernel/debug" ]; then
> mount -t debugfs nodev /sys/kernel/debug ||
> errexit "Failed to mount /sys/kernel/debug"
> TRACING_DIR="/sys/kernel/debug/tracing"
> + UMOUNT_DIR=${TRACING_DIR}
> else
> err_ret=$err_skip
> errexit "debugfs and tracefs are not configured in this kernel"
On Mon, 11 Sep 2023 13:09:09 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:
> On Sat, 9 Sep 2023 18:36:39 +0900
> "Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:
>
> > From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> >
> > Fix to unmount the tracefs if the ftracetest mounted it for recovering
> > system environment. If the tracefs is already mounted, this does nothing.
> >
> > Suggested-by: Mark Brown <broonie@kernel.org>
> > Link: https://lore.kernel.org/all/29fce076-746c-4650-8358-b4e0fa215cf7@sirena.org.uk/
> > Fixes: cbd965bde74c ("ftrace/selftests: Return the skip code when tracing directory not configured in kernel")
> > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> > ---
> > tools/testing/selftests/ftrace/ftracetest | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
> > index cb5f18c06593..89c212d82256 100755
> > --- a/tools/testing/selftests/ftrace/ftracetest
> > +++ b/tools/testing/selftests/ftrace/ftracetest
> > @@ -31,6 +31,9 @@ err_ret=1
> > # kselftest skip code is 4
> > err_skip=4
> >
> > +# umount required
> > +UMOUNT_DIR=""
> > +
> > # cgroup RT scheduling prevents chrt commands from succeeding, which
> > # induces failures in test wakeup tests. Disable for the duration of
> > # the tests.
> > @@ -45,6 +48,9 @@ setup() {
> >
> > cleanup() {
> > echo $sched_rt_runtime_orig > $sched_rt_runtime
> > + if [ "${UMOUNT_DIR}" ]; then
>
> Shouldn't the above be:
>
> if [ ! -z "${UNMOUNT_DIR}" ]; then
>
> ?
I think both are good.
What about using '-n' explictly?
[ -n "${UNMOUNT_DIR}" ]
Thanks,
>
> -- Steve
>
> > + umount ${UMOUNT_DIR} ||:
> > + fi
> > }
> >
> > errexit() { # message
> > @@ -160,11 +166,13 @@ if [ -z "$TRACING_DIR" ]; then
> > mount -t tracefs nodev /sys/kernel/tracing ||
> > errexit "Failed to mount /sys/kernel/tracing"
> > TRACING_DIR="/sys/kernel/tracing"
> > + UMOUNT_DIR=${TRACING_DIR}
> > # If debugfs exists, then so does /sys/kernel/debug
> > elif [ -d "/sys/kernel/debug" ]; then
> > mount -t debugfs nodev /sys/kernel/debug ||
> > errexit "Failed to mount /sys/kernel/debug"
> > TRACING_DIR="/sys/kernel/debug/tracing"
> > + UMOUNT_DIR=${TRACING_DIR}
> > else
> > err_ret=$err_skip
> > errexit "debugfs and tracefs are not configured in this kernel"
>
--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
On Tue, 12 Sep 2023 09:54:57 +0900
Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote:
> > Shouldn't the above be:
> >
> > if [ ! -z "${UNMOUNT_DIR}" ]; then
> >
> > ?
>
> I think both are good.
> What about using '-n' explictly?
>
> [ -n "${UNMOUNT_DIR}" ]
Even better. Heh, I never even knew about that switch :-p
-- Steve
© 2016 - 2025 Red Hat, Inc.