Re: [PATCH 01/25] xfs: add a per-xfs trace_printk macro

Dave Chinner
2018-10-10T00:36:51Z

On Tue, Oct 09, 2018 at 05:10:45PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
>
> Add a "xfs_tprintk" macro so that developers can use trace_printk to
> print out arbitrary debugging information with the XFS device name
> attached to the trace output.
>
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> ---
> fs/xfs/xfs_error.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
>
> diff --git a/fs/xfs/xfs_error.h b/fs/xfs/xfs_error.h
> index 246d3e989c6c..c3d9546b138c 100644
> --- a/fs/xfs/xfs_error.h
> +++ b/fs/xfs/xfs_error.h
> @@ -99,4 +99,9 @@ extern int xfs_errortag_clearall(struct xfs_mount *mp);
> #define XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040
> #define XFS_PTAG_FSBLOCK_ZERO 0x00000080
>
> +/* trace printk version of xfs_err and friends */
> +#define xfs_tprintk(mp, fmt, args...) \
> + trace_printk("dev %d:%d " fmt, MAJOR((mp)->m_super->s_dev), \
> + MINOR((mp)->m_super->s_dev), ##args)
> +
> #endif /* __XFS_ERROR_H__ */

Not convinced this is a good idea. How are you going to ensure code
calling this trace point is not committed?

If we decide to add this, it needs to be a CONFIG_XFS_DEBUG=y only
definition because trace_printk() is only for temporary debugging
code and has substantial performance overheads even when these trace
points are not being traced.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com