public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Peter Zijlstra <peterz@infradead.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Nicolas Pitre <nicolas.pitre@linaro.org>
Subject: [GIT PULL V10] irq: next irq tracking
Date: Mon, 12 Jun 2017 15:51:08 +0200	[thread overview]
Message-ID: <20170612135108.GD2261@mai> (raw)

Hi Thomas,

this pull request contains the next irq prediction as posted for V10
[1] which takes into account all the commments. It is based on top of
v4.12-rc5.

As previously discussed the code is not enabled by default, hence compiled out.

The first patch adds the IRQF_TIMER flag to the timers which are percpu in
order to discard any timing measurement when the interrupt is coming from a
timer.

The second patch adds a circular buffer and the small routine to store the
local time when an interrupt occurs. The t-uple <irq,timestamp> are encoded
together into a single 64bits as suggested by Nicolas Pitre.

The third patch provides the mathematic to compute the regular intervals. The
rational is in changelog and the math is commented in details in the code.

Thanks.

  -- Daniel

[1] https://www.spinics.net/lists/kernel/msg2509177.html


The following changes since commit 32c1431eea4881a6b17bd7c639315010aeefa452:

  Linux 4.12-rc5 (2017-06-11 16:48:20 -0700)

are available in the git repository at:

  http://git@git.linaro.org/people/daniel.lezcano/linux.git next-irq/4.13

for you to fetch changes up to 1ed971bc878ede444d10f8a24bc9963938f0b7c6:

  irq: Compute the periodic interval for interrupts (2017-06-12 15:06:00 +0200)

----------------------------------------------------------------
Daniel Lezcano (3):
      irq: Allow to pass the IRQF_TIMER flag with percpu irq request
      irq: Track the interrupt timings
      irq: Compute the periodic interval for interrupts

 arch/arm/kernel/smp_twd.c                |   3 +-
 drivers/clocksource/arc_timer.c          |   4 +--
 drivers/clocksource/arm_arch_timer.c     |  20 ++++++++-----
 drivers/clocksource/arm_global_timer.c   |   4 +--
 drivers/clocksource/exynos_mct.c         |   7 +++--
 drivers/clocksource/qcom-timer.c         |   4 +--
 drivers/clocksource/time-armada-370-xp.c |   9 +++---
 drivers/clocksource/timer-nps.c          |   6 ++--
 include/linux/interrupt.h                |  17 ++++++++++-
 kernel/irq/Kconfig                       |   3 ++
 kernel/irq/Makefile                      |   1 +
 kernel/irq/handle.c                      |   2 ++
 kernel/irq/internals.h                   | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 kernel/irq/manage.c                      |  18 +++++++----
 kernel/irq/timings.c                     | 366 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 15 files changed, 536 insertions(+), 31 deletions(-)
 create mode 100644 kernel/irq/timings.c

-- 

 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

             reply	other threads:[~2017-06-12 13:51 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-12 13:51 Daniel Lezcano [this message]
2017-06-12 13:52 ` [PATCH V10 1/3] irq: Allow to pass the IRQF_TIMER flag with percpu irq request Daniel Lezcano
2017-06-12 13:52   ` [PATCH V10 2/3] irq: Track the interrupt timings Daniel Lezcano
2017-06-12 13:52   ` [PATCH V10 3/3] irq: Compute the periodic interval for interrupts Daniel Lezcano
2017-06-20 14:05   ` [PATCH V10 1/3] irq: Allow to pass the IRQF_TIMER flag with percpu irq request Thomas Gleixner
2017-06-20 20:25     ` Daniel Lezcano
2017-06-20 20:29       ` Thomas Gleixner
2017-06-20 20:30         ` Daniel Lezcano
2017-06-20 11:56 ` [GIT PULL V10] irq: next irq tracking Daniel Lezcano

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=20170612135108.GD2261@mai \
    --to=daniel.lezcano@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.pitre@linaro.org \
    --cc=peterz@infradead.org \
    --cc=rafael@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vincent.guittot@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox