summaryrefslogtreecommitdiff
path: root/arch/arm64/include
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2016-07-20 08:57:26 +0200
committerDaniel Lezcano <daniel.lezcano@linaro.org>2017-06-12 15:06:00 +0200
commit1ed971bc878ede444d10f8a24bc9963938f0b7c6 (patch)
tree5329a339d0c7685be6c33d3b04913aa65ccf4aba /arch/arm64/include
parentc1bbd9e2d21a8ed836dd296de644b67d175658c8 (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