Re: [PATCH] common/tracing: use /sys/kernel/tracing at first

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Fri, May 10, 2024 at 12:33:39PM +0800, Zorro Lang wrote:
> To avoid the dependence of debugfs, tracefs is mounted on another
> place -- /sys/kernel/tracing now. But for the compatibility, the
> /sys/kernel/debug/tracing is still there. So change _require_ftrace
> helper, try to use the new /sys/kernel/tracing path at first, or
> fallback to the old one if it's not supported.
> 
> xfs/499 uses ftrace, so call _require_ftrace in it.
> 
> Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx>
> ---
>  common/tracing | 13 +++++++++----
>  tests/xfs/499  |  6 +++---
>  2 files changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/common/tracing b/common/tracing
> index b3051c27..8613d044 100644
> --- a/common/tracing
> +++ b/common/tracing
> @@ -4,11 +4,16 @@
>  #
>  # Routines for dealing with ftrace (or any other tracing).
>  
> -FTRACE_INSTANCES_DIR="/sys/kernel/debug/tracing/instances/"
> -
>  _require_ftrace() {
> -	test -d "$FTRACE_INSTANCES_DIR" || \
> -		_notrun "kernel does not support ftrace"
> +	if [ -d /sys/kernel/tracing/instances/ ];then
> +		FTRACE_ROOT="/sys/kernel/tracing"
> +		FTRACE_INSTANCES_DIR="/sys/kernel/tracing/instances"

To answer my own question, this new path has been in Debian since at
least 2021.

> +	elif [ -d /sys/kernel/debug/tracing/instances/ ];then
> +		FTRACE_ROOT="/sys/kernel/debug/tracing"
> +		FTRACE_INSTANCES_DIR="/sys/kernel/debug/tracing/instances"
> +	else
> +		_notrun "The ftrace is not supported, or tracefs is not mounted"
> +	fi
>  }
>  
>  _ftrace_cleanup() {
> diff --git a/tests/xfs/499 b/tests/xfs/499
> index 9672f95d..883415dc 100755
> --- a/tests/xfs/499
> +++ b/tests/xfs/499
> @@ -14,18 +14,18 @@ _begin_fstest auto quick
>  _register_cleanup "_cleanup" BUS
>  
>  # Import common functions.
> +. ./common/tracing

You could probably get rid of the "Import common functions" comment.

This looks good!
Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>

--D

>  
>  # real QA test starts here
>  _supported_fs xfs
> +_require_ftrace
>  _require_command "$CC_PROG" "cc"
>  
>  cprog=$tmp.ftrace.c
>  oprog=$tmp.ftrace
>  sedprog=$tmp.ftrace.sed
>  
> -ftrace_dir=$DEBUGFS_MNT/tracing/events/xfs
> -
> -test -d $ftrace_dir || _notrun "ftrace not enabled"
> +ftrace_dir=$FTRACE_ROOT/events/xfs
>  
>  # The second argument to __print_symbolic is stringified in the tracepoint's
>  # fmt file, so we look for "{ NUM, STRING }" and try to separate each of them
> -- 
> 2.44.0
> 
> 




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux