Re: [RFC PATCH 3/9] writeback: tracing: pass global_wb_domain as tracepoint parameter

From: Mathieu Desnoyers
Date: Fri Apr 10 2020 - 07:54:13 EST


----- On Apr 9, 2020, at 6:33 PM, Alexei Starovoitov alexei.starovoitov@xxxxxxxxx wrote:

> On Thu, Apr 09, 2020 at 03:35:37PM -0400, Mathieu Desnoyers wrote:
>> if (pause < min_pause) {
>> - trace_balance_dirty_pages(wb,
>> + trace_balance_dirty_pages(&global_wb_domain,
>> + wb,
>> sdtc->thresh,
>> sdtc->bg_thresh,
>> sdtc->dirty,
>
> argh. 13 arguments to single function ?!
> Currently the call site looks like:
> trace_balance_dirty_pages(wb,
> sdtc->thresh,
> sdtc->bg_thresh,
> sdtc->dirty,
> sdtc->wb_thresh,
> sdtc->wb_dirty,
> dirty_ratelimit,
> task_ratelimit,
> pages_dirtied,
> period,
> min(pause, 0L),
> start_time);
> Just pass sdtc as a pointer instead.
> Then another wb argument will be fine.

Good point! In order to do that I would need to move the declaration
of struct dirty_throttle_control from mm/page-writeback.c to
include/linux/writeback.h so it can be used from the tracepoint.

Seems fair ?

Thanks,

Mathieu


--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com