All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Vaibhav Nagarnaik <vnagarnaik@google.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Michael Rubin <mrubin@google.com>,
	David Sharp <dhsharp@google.com>,
	linux-kernel@vger.kernel.org, x86@kernel.org
Subject: Re: [PATCH 4/6] trace: Add tracepoints to reschedule interrupt handler
Date: Fri, 15 Jul 2011 00:02:35 +0200	[thread overview]
Message-ID: <20110714220233.GC26786@somewhere.redhat.com> (raw)
In-Reply-To: <1310679495-29104-5-git-send-email-vnagarnaik@google.com>

Looks good to me. But I'm adding Peter in Cc.

On Thu, Jul 14, 2011 at 02:38:13PM -0700, Vaibhav Nagarnaik wrote:
> This is a part of overall effort to trace all the interrupts happening
> in a system to figure out what time is spent in kernel space versus user
> space.
> 
> Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
> ---
>  include/trace/events/irq.h |   45 ++++++++++++++++++++++++++++++++++++++++++++
>  kernel/sched.c             |    4 +++
>  2 files changed, 49 insertions(+), 0 deletions(-)
> 
> diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h
> index d8fab89..a2a0a49 100644
> --- a/include/trace/events/irq.h
> +++ b/include/trace/events/irq.h
> @@ -339,6 +339,51 @@ DEFINE_EVENT(irq_work, irq_work_run_exit,
>  	TP_ARGS(ignore)
>  );
>  
> +DECLARE_EVENT_CLASS(reschedule_interrupt,
> +
> +	TP_PROTO(unsigned int ignore),
> +
> +	TP_ARGS(ignore),
> +
> +	TP_STRUCT__entry(
> +		__field(	unsigned int,	ignore	)
> +	),
> +
> +	TP_fast_assign(
> +		__entry->ignore = ignore;
> +	),
> +
> +	TP_printk("%u", __entry->ignore)
> +);
> +
> +/**
> + * reschedule_interrupt_entry - called immediately after entering the
> + * reschedule interrupt handler
> + *
> + * When used in combination with the reschedule_interrupt_exit tracepoint
> + * we can determine the reschedule interrupt handler runtime.
> + */
> +DEFINE_EVENT(reschedule_interrupt, reschedule_interrupt_entry,
> +
> +	TP_PROTO(unsigned int ignore),
> +
> +	TP_ARGS(ignore)
> +);
> +
> +/**
> + * reschedule_interrupt_exit - called just before the reschedule interrupt
> + * handler returns
> + *
> + * When used in combination with the reschedule_interrupt_entry tracepoint
> + * we can determine the reschedule interrupt handler runtime.
> + */
> +DEFINE_EVENT(reschedule_interrupt, reschedule_interrupt_exit,
> +
> +	TP_PROTO(unsigned int ignore),
> +
> +	TP_ARGS(ignore)
> +);
> +
>  #endif /*  _TRACE_IRQ_H */
>  
>  /* This part must be outside protection */
> diff --git a/kernel/sched.c b/kernel/sched.c
> index 9769c75..605c938 100644
> --- a/kernel/sched.c
> +++ b/kernel/sched.c
> @@ -79,6 +79,8 @@
>  #include "sched_cpupri.h"
>  #include "workqueue_sched.h"
>  #include "sched_autogroup.h"
> +#include <trace/events/irq.h>
> +
>  
>  #define CREATE_TRACE_POINTS
>  #include <trace/events/sched.h>
> @@ -2565,7 +2567,9 @@ static void sched_ttwu_pending(void)
>  
>  void scheduler_ipi(void)
>  {
> +	trace_reschedule_interrupt_entry(0);
>  	sched_ttwu_pending();
> +	trace_reschedule_interrupt_exit(0);
>  }
>  
>  static void ttwu_queue_remote(struct task_struct *p, int cpu)
> -- 
> 1.7.3.1
> 

  reply	other threads:[~2011-07-14 22:02 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-14 21:38 [PATCH 0/6] Add tracepoints to trace all system IRQs Vaibhav Nagarnaik
2011-07-14 21:38 ` [PATCH 1/6] trace,x86: Add tracepoint to x86 timer interrupt handler Vaibhav Nagarnaik
2011-07-14 21:38 ` [PATCH 2/6] trace: Add tracepoints to timer interrupt handlers Vaibhav Nagarnaik
2011-07-14 21:38 ` [PATCH 3/6] trace: Add tracepoints to IRQ work run handler Vaibhav Nagarnaik
2011-07-14 22:09   ` Frederic Weisbecker
2011-07-14 23:01     ` Vaibhav Nagarnaik
2011-07-14 21:38 ` [PATCH 4/6] trace: Add tracepoints to reschedule interrupt handler Vaibhav Nagarnaik
2011-07-14 22:02   ` Frederic Weisbecker [this message]
2011-07-15  8:48     ` Peter Zijlstra
2011-07-15 17:50       ` David Sharp
2011-07-21 12:31         ` Peter Zijlstra
2011-07-21 18:04           ` Vaibhav Nagarnaik
2011-07-14 21:38 ` [PATCH 5/6] trace: Add tracepoints to call function interrupt handlers Vaibhav Nagarnaik
2011-07-14 22:05   ` Frederic Weisbecker
2011-07-14 23:02     ` Vaibhav Nagarnaik
2011-07-14 23:05       ` Frederic Weisbecker
2011-07-14 21:38 ` [PATCH 6/6] trace,x86: Add platform_irq_vector_{entry|exit} trace events Vaibhav Nagarnaik
2011-07-27 18:57 ` [PATCH v2 0/6] Add tracepoints to trace all system IRQs Vaibhav Nagarnaik
2011-07-28 12:12   ` Peter Zijlstra
2011-07-28 12:31     ` Frederic Weisbecker
2011-07-28 12:53       ` Peter Zijlstra
2011-07-28 13:09         ` Frederic Weisbecker
2011-07-28 13:28           ` Peter Zijlstra
2011-07-28 14:10       ` Peter Zijlstra
2011-07-28 14:08         ` Frederic Weisbecker
2011-07-28 17:39           ` Vaibhav Nagarnaik
2011-07-27 18:57 ` [PATCH v2 1/6] trace,x86: Add tracepoint to x86 timer interrupt handler Vaibhav Nagarnaik
2011-07-27 18:57 ` [PATCH v2 2/6] trace: Add tracepoints to timer interrupt handlers Vaibhav Nagarnaik
2011-07-27 18:57 ` [PATCH v2 3/6] trace: Add tracepoints to IRQ work run handler Vaibhav Nagarnaik
2011-07-28 12:12   ` Peter Zijlstra
2011-07-28 13:29     ` Frederic Weisbecker
2011-07-28 13:49       ` Peter Zijlstra
2011-07-28 14:04         ` Frederic Weisbecker
2011-07-27 18:57 ` [PATCH v2 4/6] trace: Add tracepoints to reschedule interrupt handler Vaibhav Nagarnaik
2011-07-28 12:12   ` Peter Zijlstra
2011-07-27 18:57 ` [PATCH v2 5/6] trace: Add tracepoints to call function interrupt handlers Vaibhav Nagarnaik
2011-07-28 12:17   ` Peter Zijlstra
2011-07-27 18:57 ` [PATCH v2 6/6] trace,x86: Add platform_irq_vector_{entry|exit} trace events Vaibhav Nagarnaik

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=20110714220233.GC26786@somewhere.redhat.com \
    --to=fweisbec@gmail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=dhsharp@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=mrubin@google.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=vnagarnaik@google.com \
    --cc=x86@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.