lttng-dev.lists.lttng.org archive mirror
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Michael Jeanson <mjeanson@efficios.com>
Cc: lttng-dev <lttng-dev@lists.lttng.org>
Subject: Re: [PATCH lttng-modules 1/5] fix: timer/trace: Improve timer tracing (v5.2)
Date: Wed, 22 May 2019 11:37:37 -0400 (EDT)	[thread overview]
Message-ID: <1938745462.7459.1558539457112.JavaMail.zimbra__41434.7578001738$1558539475$gmane$org@efficios.com> (raw)
In-Reply-To: <20190521203314.8577-1-mjeanson@efficios.com>

All merged into lttng-modules master, 2.11, 2.10, 2.9 branches.

I updated the field names for patch 4/5 as discussed.

Thanks,

Mathieu

----- On May 21, 2019, at 4:33 PM, Michael Jeanson mjeanson@efficios.com wrote:

> See upstream commit:
> 
>  commit f28d3d5346e97e60c81f933ac89ccf015430e5cf
>  Author: Anna-Maria Gleixner <anna-maria@linutronix.de>
>  Date:   Thu Mar 21 13:09:21 2019 +0100
> 
>    timer/trace: Improve timer tracing
> 
>    Timers are added to the timer wheel off by one. This is required in
>    case a timer is queued directly before incrementing jiffies to prevent
>    early timer expiry.
> 
>    When reading a timer trace and relying only on the expiry time of the timer
>    in the timer_start trace point and on the now in the timer_expiry_entry
>    trace point, it seems that the timer fires late. With the current
>    timer_expiry_entry trace point information only now=jiffies is printed but
>    not the value of base->clk. This makes it impossible to draw a conclusion
>    to the index of base->clk and makes it impossible to examine timer problems
>    without additional trace points.
> 
>    Therefore add the base->clk value to the timer_expire_entry trace
>    point, to be able to calculate the index the timer base is located at
>    during collecting expired timers.
> 
> Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
> ---
> instrumentation/events/lttng-module/timer.h | 22 +++++++++++++++++++++
> 1 file changed, 22 insertions(+)
> 
> diff --git a/instrumentation/events/lttng-module/timer.h
> b/instrumentation/events/lttng-module/timer.h
> index 8703ea0..997084f 100644
> --- a/instrumentation/events/lttng-module/timer.h
> +++ b/instrumentation/events/lttng-module/timer.h
> @@ -89,6 +89,27 @@ LTTNG_TRACEPOINT_EVENT(timer_start,
> )
> #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */
> 
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
> +/**
> + * timer_expire_entry - called immediately before the timer callback
> + * @timer:	pointer to struct timer_list
> + *
> + * Allows to determine the timer latency.
> + */
> +LTTNG_TRACEPOINT_EVENT(timer_expire_entry,
> +
> +	TP_PROTO(struct timer_list *timer, unsigned long baseclk),
> +
> +	TP_ARGS(timer, baseclk),
> +
> +	TP_FIELDS(
> +		ctf_integer_hex(void *, timer, timer)
> +		ctf_integer(unsigned long, now, jiffies)
> +		ctf_integer_hex(void *, function, timer->function)
> +		ctf_integer(unsigned long, baseclk, baseclk)
> +	)
> +)
> +#else
> /**
>  * timer_expire_entry - called immediately before the timer callback
>  * @timer:	pointer to struct timer_list
> @@ -107,6 +128,7 @@ LTTNG_TRACEPOINT_EVENT(timer_expire_entry,
> 		ctf_integer_hex(void *, function, timer->function)
> 	)
> )
> +#endif
> 
> /**
>  * timer_expire_exit - called immediately after the timer callback returns
> --
> 2.17.1

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

  parent reply	other threads:[~2019-05-22 15:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20190521203314.8577-1-mjeanson@efficios.com>
2019-05-21 20:33 ` [PATCH lttng-modules 2/5] fix: mm/vmscan: drop may_writepage and classzone_idx from direct reclaim begin template (v5.2) Michael Jeanson
2019-05-21 20:33 ` [PATCH lttng-modules 3/5] fix: mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags (v5.2) Michael Jeanson
2019-05-21 20:33 ` [PATCH lttng-modules 4/5] fix: mm: move recent_rotated pages calculation to shrink_inactive_list() (v5.2) Michael Jeanson
2019-05-21 20:33 ` [PATCH lttng-modules 5/5] fix: random: only read from /dev/random after its pool has received 128 bits (v5.2) Michael Jeanson
     [not found] ` <20190521203314.8577-4-mjeanson@efficios.com>
2019-05-21 20:53   ` [PATCH lttng-modules 4/5] fix: mm: move recent_rotated pages calculation to shrink_inactive_list() (v5.2) Mathieu Desnoyers
     [not found]   ` <1045726286.6695.1558472016130.JavaMail.zimbra@efficios.com>
2019-05-21 21:16     ` Steven Rostedt
2019-05-22  8:37     ` Kirill Tkhai
2019-05-22 15:37 ` Mathieu Desnoyers [this message]
2019-05-21 20:33 [PATCH lttng-modules 1/5] fix: timer/trace: Improve timer tracing (v5.2) Michael Jeanson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='1938745462.7459.1558539457112.JavaMail.zimbra__41434.7578001738$1558539475$gmane$org@efficios.com' \
    --to=mathieu.desnoyers@efficios.com \
    --cc=lttng-dev@lists.lttng.org \
    --cc=mjeanson@efficios.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).