Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1313461
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period |
| Date | 2016-01-20 20:40 +0100 |
| Message-ID | <qT6LL-2E2-3@gated-at.bofh.it> (permalink) |
| References | <qT3ux-vq-3@gated-at.bofh.it> <qT3ux-vq-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Jan 20, 2016 at 05:00:33PM +0100, Daniel Lezcano wrote: > + variance = stats_variance(&w->stats, mean); > + /* > + * We want to check the last interval is: > + * > + * mean - stddev < interval < mean + stddev > + * > + * That simplifies to: > + * > + * -stddev < interval - mean < stddev > + * > + * abs(interval - mean) < stddev > + * > + * The standard deviation is the sqrt of the variance: > + * > + * abs(interval - mean) < sqrt(variance) > + * > + * and we want to prevent to do an sqrt, so we square > + * the equation: > + * > + * (interval - mean)^2 < variance > + * > + * So if the latest value of the stats complies with > + * this condition, then the wakeup source is > + * considered predictable and can be used to predict > + * the next event. > + */ > + interval = w->stats.values[w->stats.w_ptr]; > + if ((u64)((interval - mean) * (interval - mean)) > variance) > + continue; > + Cute :-) You could consider putting a simple 3 point median filter in front of stat_add() to get rid of the worst input noise. (I know, improving all this was a point for later)
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-18 14:30 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-20 16:50 +0100
[RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-20 17:10 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-20 18:50 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Peter Zijlstra <peterz@infradead.org> - 2016-01-20 19:50 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 11:10 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Peter Zijlstra <peterz@infradead.org> - 2016-01-20 20:10 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-20 20:20 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Peter Zijlstra <peterz@infradead.org> - 2016-01-20 20:40 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Peter Zijlstra <peterz@infradead.org> - 2016-01-20 20:40 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Peter Zijlstra <peterz@infradead.org> - 2016-01-20 20:50 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-20 21:00 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Peter Zijlstra <peterz@infradead.org> - 2016-01-20 21:30 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-20 21:00 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 15:00 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-21 15:20 +0100
[RFC V2 0/2] IRQ based next prediction Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-20 17:10 +0100
[RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-20 17:10 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-20 21:20 +0100
Re: [RFC V2 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 14:10 +0100
[RFC V2 0/2] IRQ based next prediction Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-20 17:10 +0100
[RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-20 17:10 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Thomas Gleixner <tglx@linutronix.de> - 2016-01-20 19:00 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 10:30 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Thomas Gleixner <tglx@linutronix.de> - 2016-01-21 11:30 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Peter Zijlstra <peterz@infradead.org> - 2016-01-20 20:10 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Thomas Gleixner <tglx@linutronix.de> - 2016-01-20 21:00 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-20 21:10 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Peter Zijlstra <peterz@infradead.org> - 2016-01-20 21:30 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Thomas Gleixner <tglx@linutronix.de> - 2016-01-20 21:30 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 11:00 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Peter Zijlstra <peterz@infradead.org> - 2016-01-21 11:10 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 13:40 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Thomas Gleixner <tglx@linutronix.de> - 2016-01-21 21:30 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Thomas Gleixner <tglx@linutronix.de> - 2016-01-21 15:00 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 15:20 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Thomas Gleixner <tglx@linutronix.de> - 2016-01-21 20:00 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Peter Zijlstra <peterz@infradead.org> - 2016-01-22 11:20 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 10:30 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Peter Zijlstra <peterz@infradead.org> - 2016-01-20 20:30 +0100
Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-21 11:00 +0100
[RFC V2 1/2] irq: Add a framework to measure interrupt timings Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-20 17:10 +0100
csiph-web