Hi all, After merging the mm-unstable tree, today's linux-next build (arm multi_v7_defconfig) failed like this: In file included from include/trace/define_trace.h:132, from include/trace/events/vmscan.h:569, from mm/vmscan.c:73: include/trace/events/vmscan.h: In function 'do_trace_event_raw_event_mm_shrink_slab_start': include/trace/events/vmscan.h:248:68: error: invalid use of undefined type 'struct mem_cgroup' 248 | __entry->memcg_id = sc->memcg ? cgroup_id(sc->memcg->css.cgroup) : 0; | ^~ include/trace/trace_events.h:427:11: note: in definition of macro '__DECLARE_EVENT_CLASS' 427 | { assign; } \ | ^~~~~~ include/trace/trace_events.h:435:23: note: in expansion of macro 'PARAMS' 435 | PARAMS(assign), PARAMS(print)) \ | ^~~~~~ include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 40 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS' 44 | PARAMS(assign), \ | ^~~~~~ include/trace/events/vmscan.h:214:1: note: in expansion of macro 'TRACE_EVENT' 214 | TRACE_EVENT(mm_shrink_slab_start, | ^~~~~~~~~~~ include/trace/events/vmscan.h:237:9: note: in expansion of macro 'TP_fast_assign' 237 | TP_fast_assign( | ^~~~~~~~~~~~~~ include/trace/events/vmscan.h: In function 'do_trace_event_raw_event_mm_shrink_slab_end': include/trace/events/vmscan.h:293:56: error: invalid use of undefined type 'struct mem_cgroup' 293 | __entry->memcg_id = cgroup_id(sc->memcg->css.cgroup); | ^~ include/trace/trace_events.h:427:11: note: in definition of macro '__DECLARE_EVENT_CLASS' 427 | { assign; } \ | ^~~~~~ include/trace/trace_events.h:435:23: note: in expansion of macro 'PARAMS' 435 | PARAMS(assign), PARAMS(print)) \ | ^~~~~~ include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 40 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS' 44 | PARAMS(assign), \ | ^~~~~~ include/trace/events/vmscan.h:266:1: note: in expansion of macro 'TRACE_EVENT' 266 | TRACE_EVENT(mm_shrink_slab_end, | ^~~~~~~~~~~ include/trace/events/vmscan.h:285:9: note: in expansion of macro 'TP_fast_assign' 285 | TP_fast_assign( | ^~~~~~~~~~~~~~ In file included from include/trace/define_trace.h:133: include/trace/events/vmscan.h: In function 'do_perf_trace_mm_shrink_slab_start': include/trace/events/vmscan.h:248:68: error: invalid use of undefined type 'struct mem_cgroup' 248 | __entry->memcg_id = sc->memcg ? cgroup_id(sc->memcg->css.cgroup) : 0; | ^~ include/trace/perf.h:51:11: note: in definition of macro '__DECLARE_EVENT_CLASS' 51 | { assign; } \ | ^~~~~~ include/trace/perf.h:67:23: note: in expansion of macro 'PARAMS' 67 | PARAMS(assign), PARAMS(print)) \ | ^~~~~~ include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 40 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS' 44 | PARAMS(assign), \ | ^~~~~~ include/trace/events/vmscan.h:214:1: note: in expansion of macro 'TRACE_EVENT' 214 | TRACE_EVENT(mm_shrink_slab_start, | ^~~~~~~~~~~ include/trace/events/vmscan.h:237:9: note: in expansion of macro 'TP_fast_assign' 237 | TP_fast_assign( | ^~~~~~~~~~~~~~ include/trace/events/vmscan.h: In function 'do_perf_trace_mm_shrink_slab_end': include/trace/events/vmscan.h:293:56: error: invalid use of undefined type 'struct mem_cgroup' 293 | __entry->memcg_id = cgroup_id(sc->memcg->css.cgroup); | ^~ include/trace/perf.h:51:11: note: in definition of macro '__DECLARE_EVENT_CLASS' 51 | { assign; } \ | ^~~~~~ include/trace/perf.h:67:23: note: in expansion of macro 'PARAMS' 67 | PARAMS(assign), PARAMS(print)) \ | ^~~~~~ include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 40 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS' 44 | PARAMS(assign), \ | ^~~~~~ include/trace/events/vmscan.h:266:1: note: in expansion of macro 'TRACE_EVENT' 266 | TRACE_EVENT(mm_shrink_slab_end, | ^~~~~~~~~~~ include/trace/events/vmscan.h:285:9: note: in expansion of macro 'TP_fast_assign' 285 | TP_fast_assign( | ^~~~~~~~~~~~~~ Caused by commit 6093cd0a2a93 ("mm: vmscan: add cgroup IDs to vmscan tracepoints") $ grep MEMCG .config # CONFIG_MEMCG is not set I have applied the following hack for today. From: Stephen Rothwell Date: Wed, 7 Jan 2026 10:38:50 +1100 Subject: [PATCH] fix up for "mm: vmscan: add cgroup IDs to vmscan tracepoints" Signed-off-by: Stephen Rothwell --- include/trace/events/vmscan.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index d438abfa03eb..6a8ec045ae58 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h @@ -245,7 +245,11 @@ TRACE_EVENT(mm_shrink_slab_start, __entry->priority = priority; __entry->nid = sc->nid; __entry->pid = current->pid; +#ifdef CONFIG_MEMCG __entry->memcg_id = sc->memcg ? cgroup_id(sc->memcg->css.cgroup) : 0; +#else + __entry->memcg_id = 0; +#endif ), TP_printk("%pS %p: nid: %d pid: %d memcg_id: %u objects to shrink %ld gfp_flags %s cache items %ld delta %lld total_scan %ld priority %d %s", @@ -290,7 +294,11 @@ TRACE_EVENT(mm_shrink_slab_end, __entry->nid = sc->nid; __entry->retval = shrinker_retval; __entry->pid = current->pid; +#ifdef CONFIG_MEMCG __entry->memcg_id = cgroup_id(sc->memcg->css.cgroup); +#else + __entry->memcg_id = 0; +#endif ), TP_printk("%pS %p: nid: %d pid: %d memcg_id: %u unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d %s", -- 2.52.0 -- Cheers, Stephen Rothwell