diff options
author | Daniel Lezcano <daniel.lezcano@linaro.org> | 2016-07-20 08:57:26 +0200 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2017-06-12 15:06:00 +0200 |
commit | 1ed971bc878ede444d10f8a24bc9963938f0b7c6 (patch) | |
tree | 5329a339d0c7685be6c33d3b04913aa65ccf4aba /arch/arm64/include | |
parent | c1bbd9e2d21a8ed836dd296de644b67d175658c8 (diff) |
irq: Compute the periodic interval for interruptsnext-irq/4.13
An interrupt behaves with a burst of activity with periodic interval of time
followed by one or two peaks of longer interval.
As the time intervals are periodic, statistically speaking they follow a normal
distribution and each interrupts can be tracked individually.
This patch does statistics on all interrupts, except the timers which are
deterministic by essence. The goal is to extract the periodicity for each
interrupt, with the last timestamp and sum them, so we have the next event.
Taking the earliest prediction gives the expected wakeup on the system (assuming
a timer won't expire before).
As stated in the previous patch, this code is not enabled in the kernel by
default.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
---
Changelog:
V10:
- Simplified index/count computation
V9:
- Deal with 48+16 bits encoded values
- Changed irq_stat => irqt_stat to prevent name collision on s390
- Changed div64 by constant IRQ_TIMINGS_SHIFT bit shift for average
- Changed div64 by constant IRQ_TIMINGS_SHIFT bit shift for variance
Diffstat (limited to 'arch/arm64/include')
0 files changed, 0 insertions, 0 deletions