• Daniel Lezcano's avatar
    genirq/timings: Add infrastructure for estimating the next interrupt arrival time · e1c92149
    Daniel Lezcano authored
    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.
    
    Add a mechanism to compute the statistics on all interrupts, except the
    timers which are deterministic from a prediction point of view, as their
    expiry time is known.
    
    The goal is to extract the periodicity for each interrupt, with the last
    timestamp and sum them, so the next event can be predicted to a certain
    extent.
    
    Taking the earliest prediction gives the expected wakeup on the system
    (assuming a timer won't expire before).
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Hannes Reinecke <hare@suse.com>
    Cc: Vincent Guittot <vincent.guittot@linaro.org>
    Cc: "Rafael J . Wysocki" <rafael@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Link: http://lkml.kernel.org/r/1498227072-5980-2-git-send-email-daniel.lezcano@linaro.org
    e1c92149
internals.h 12.6 KB