Re: [PATCH] mm, vmscan, tracing: Use pointer to reclaim_stat struct in trace event
From: Andrey Ryabinin
Date: Fri Mar 23 2018 - 11:19:13 EST
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