On Tue, 13 Oct 2026 21:13:04 +0800
Ridong Chen <[email protected]> wrote:

> From: Ridong Chen <[email protected]>
> 
> Move include/trace/events/vmscan.h to mm/trace_vmscan.h so that the
> tracepoints can be extended to reference vmscan-internal structures such
> as struct scan_control, which is not visible outside mm/.  This mirrors
> what several other subsystems already do with their trace headers (e.g.
> arch/x86/kvm/trace.h, drivers/gpu/drm/drm_trace.h, net/xfrm/trace_iptfs.h).
> As they do, use a relative TRACE_INCLUDE_PATH so that no Makefile change
> is needed.
> 
> No functional change.
> 
> Assisted-by: LLM
> Signed-off-by: Ridong Chen <[email protected]>
> ---
>  MAINTAINERS                                        | 2 ++
>  mm/shrinker.c                                      | 2 +-
>  include/trace/events/vmscan.h => mm/trace_vmscan.h | 4 ++++
>  mm/vmscan.c                                        | 2 +-
>  4 files changed, 8 insertions(+), 2 deletions(-)
>  rename include/trace/events/vmscan.h => mm/trace_vmscan.h (99%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c5519d67b6f4..80d2a9dd0525 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -17575,6 +17575,7 @@ F:    Documentation/admin-guide/mm/multigen_lru.rst
>  F:   Documentation/mm/multigen_lru.rst
>  F:   include/linux/mm_inline.h
>  F:   include/linux/mmzone.h
> +F:   mm/trace_vmscan.h
>  F:   mm/vmscan.c
>  F:   mm/workingset.c
>  
> @@ -17722,6 +17723,7 @@ R:    Shakeel Butt <[email protected]>
>  R:   Lorenzo Stoakes <[email protected]>
>  L:   [email protected]
>  S:   Maintained
> +F:   mm/trace_vmscan.h
>  F:   mm/vmscan.c
>  F:   mm/workingset.c
>  
> diff --git a/mm/shrinker.c b/mm/shrinker.c
> index 7ec2a9704f6f..3c3e87c4b61c 100644
> --- a/mm/shrinker.c
> +++ b/mm/shrinker.c
> @@ -3,7 +3,7 @@
>  #include <linux/rwsem.h>
>  #include <linux/shrinker.h>
>  #include <linux/rculist.h>
> -#include <trace/events/vmscan.h>
> +#include "trace_vmscan.h"
>  
>  #include "internal.h"
>  
> diff --git a/include/trace/events/vmscan.h b/mm/trace_vmscan.h
> similarity index 99%
> rename from include/trace/events/vmscan.h
> rename to mm/trace_vmscan.h
> index 8a872990b4be..c5d824fef554 100644
> --- a/include/trace/events/vmscan.h
> +++ b/mm/trace_vmscan.h
> @@ -648,4 +648,8 @@ TRACE_EVENT(mm_vmscan_kswapd_clear_hopeless,
>  #endif /* _TRACE_VMSCAN_H */
>  
>  /* This part must be outside protection */
> +#undef TRACE_INCLUDE_FILE
> +#undef TRACE_INCLUDE_PATH
> +#define TRACE_INCLUDE_PATH ../../mm

The proper way to do this is to have:

#define TRACE_INCLUDE_PATH .

And update the Makefile with:

CFLAGS_vmscan.o := -I$(src)

-- Steve



> +#define TRACE_INCLUDE_FILE trace_vmscan
>  #include <trace/define_trace.h>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 29b31446fc11..6207dad9e644 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -71,7 +71,7 @@
>  #include "swap.h"
>  
>  #define CREATE_TRACE_POINTS
> -#include <trace/events/vmscan.h>
> +#include "trace_vmscan.h"
>  
>  struct scan_control {
>       /* How many pages shrink_list() should reclaim */


Reply via email to