[lttng-dev] [PATCH lttng-modules 2.6] Fix: writeback instrumentation for 4.2 kernels
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri Aug 21 16:27:08 EDT 2015
merged, thanks!
Mathieu
----- On Aug 21, 2015, at 11:57 AM, Michael Jeanson mjeanson at efficios.com wrote:
> Bandwidth related fields were moved by this commit:
>
> commit a88a341a73be4ef035ca26170c849f002797da27
> Author: Tejun Heo <tj at kernel.org>
> Date: Fri, 22 May 2015 17:13:28 -0400
>
> writeback: move bandwidth related fields from backing_dev_info into
> bdi_writeback
>
> Signed-off-by: Michael Jeanson <mjeanson at efficios.com>
> ---
> instrumentation/events/lttng-module/writeback.h | 51 +++++++++++++++++++++++++
> 1 file changed, 51 insertions(+)
>
> diff --git a/instrumentation/events/lttng-module/writeback.h
> b/instrumentation/events/lttng-module/writeback.h
> index 7ea3f8a..dc88886 100644
> --- a/instrumentation/events/lttng-module/writeback.h
> +++ b/instrumentation/events/lttng-module/writeback.h
> @@ -523,6 +523,55 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
>
> #define KBps(x) ((x) << (PAGE_SHIFT - 10))
>
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
> +
> +LTTNG_TRACEPOINT_EVENT_MAP(bdi_dirty_ratelimit,
> +
> + writeback_bdi_dirty_ratelimit,
> +
> + TP_PROTO(struct backing_dev_info *bdi,
> + unsigned long dirty_rate,
> + unsigned long task_ratelimit),
> +
> + TP_ARGS(bdi, dirty_rate, task_ratelimit),
> +
> + TP_STRUCT__entry(
> + __array(char, bdi, 32)
> + __field(unsigned long, write_bw)
> + __field(unsigned long, avg_write_bw)
> + __field(unsigned long, dirty_rate)
> + __field(unsigned long, dirty_ratelimit)
> + __field(unsigned long, task_ratelimit)
> + __field(unsigned long, balanced_dirty_ratelimit)
> + ),
> +
> + TP_fast_assign(
> + tp_memcpy(bdi, dev_name(bdi->dev), 32)
> + tp_assign(write_bw, KBps(bdi->wb.write_bandwidth))
> + tp_assign(avg_write_bw, KBps(bdi->wb.avg_write_bandwidth))
> + tp_assign(dirty_rate, KBps(dirty_rate))
> + tp_assign(dirty_ratelimit, KBps(bdi->wb.dirty_ratelimit))
> + tp_assign(task_ratelimit, KBps(task_ratelimit))
> + tp_assign(balanced_dirty_ratelimit,
> + KBps(bdi->wb.balanced_dirty_ratelimit))
> + ),
> +
> + TP_printk("bdi %s: "
> + "write_bw=%lu awrite_bw=%lu dirty_rate=%lu "
> + "dirty_ratelimit=%lu task_ratelimit=%lu "
> + "balanced_dirty_ratelimit=%lu",
> + __entry->bdi,
> + __entry->write_bw, /* write bandwidth */
> + __entry->avg_write_bw, /* avg write bandwidth */
> + __entry->dirty_rate, /* bdi dirty rate */
> + __entry->dirty_ratelimit, /* base ratelimit */
> + __entry->task_ratelimit, /* ratelimit with position control */
> + __entry->balanced_dirty_ratelimit /* the balanced ratelimit */
> + )
> +)
> +
> +#else
> +
> LTTNG_TRACEPOINT_EVENT_MAP(bdi_dirty_ratelimit,
>
> writeback_bdi_dirty_ratelimit,
> @@ -568,6 +617,8 @@ LTTNG_TRACEPOINT_EVENT_MAP(bdi_dirty_ratelimit,
> )
> )
>
> +#endif
> +
> LTTNG_TRACEPOINT_EVENT_MAP(balance_dirty_pages,
>
> writeback_balance_dirty_pages,
> --
> 1.9.1
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list