Message ID | 169425219871.184380.8584599358250186540.stgit@devnote2 (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [FIX] selftests: tracing: Fix to unmount tracefs for recovering environment | expand |
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" >
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
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"