On 03/23/2018 12:10 AM, Andrew Morton wrote: > On Thu, 22 Mar 2018 12:10:03 -0400 Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > >> >> The trace event trace_mm_vmscan_lru_shrink_inactive() currently has 12 >> parameters! Seven of them are from the reclaim_stat structure. This >> structure is currently local to mm/vmscan.c. By moving it to the global >> vmstat.h header, we can also reference it from the vmscan tracepoints. In >> moving it, it brings down the overhead of passing so many arguments to the >> trace event. In the future, we may limit the number of arguments that a >> trace event may pass (ideally just 6, but more realistically it may be 8). > > Unfortunately this is not a good time. Andrey's "mm/vmscan: replace > mm_vmscan_lru_shrink_inactive with shrink_page_list tracepoint" mucks > with this code quite a lot and that patch's series is undergoing review > at present, with a few issues yet unresolved. I slightly reworked my patch series, so that patch "mm/vmscan: replace mm_vmscan_lru_shrink_inactive with shrink_page_list tracepoint" is not needed anymore. Replacing that tracepoint with less informative shrink_page_list probably isn't a very good idea anyway. So Steven's patch applies *almost* cleanly on top of my v2, nothing that 3-way merge can't handle: # git am -3 mm-vmscan-tracing-Use-pointer-to-reclaim_stat-struct.patch Applying: mm, vmscan, tracing: Use pointer to reclaim_stat struct in trace event Using index info to reconstruct a base tree... M include/trace/events/vmscan.h M mm/vmscan.c Falling back to patching base and 3-way merge... Auto-merging mm/vmscan.c Auto-merging include/trace/events/vmscan.h