linux/tracepoints.h allows individual subsystems to disable their tracepoints. Add such a knob for xfs. Disabling XFS_TRACEPOINTS reduces the resident size of xfs.ko by about a third, or ~350 KiB. $ size /tmp/xfs/{a,b}/xfs.ko text data bss dec hex filename 671726 4129 632 676487 a5287 /tmp/xfs/a/xfs.ko 893192 166737 632 1060561 102ed1 /tmp/xfs/b/xfs.ko Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> --- fs/xfs/Kconfig | 9 +++++++++ fs/xfs/xfs_trace.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig index 457ac9f97377..d099e6d9f6c5 100644 --- a/fs/xfs/Kconfig +++ b/fs/xfs/Kconfig @@ -141,3 +141,12 @@ config XFS_ASSERT_FATAL result in warnings. This behavior can be modified at runtime via sysfs. + +config XFS_TRACEPOINTS + bool "XFS tracepoints" + default y + depends on XFS_FS && TRACEPOINTS + help + Say Y here to build XFS with tracepoints. + + You can say N here to reduce the size of the kernel image. diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 6fcc893dfc91..5fb3d5c0483e 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -6,6 +6,10 @@ #undef TRACE_SYSTEM #define TRACE_SYSTEM xfs +#ifndef CONFIG_XFS_TRACEPOINTS +#define NOTRACE +#endif + #if !defined(_TRACE_XFS_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_XFS_H -- 2.20.1