Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1307522
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period |
| Date | 2016-01-12 16:20 +0100 |
| Message-ID | <qQ8TL-2LK-1@gated-at.bofh.it> (permalink) |
| References | (3 earlier) <qQ6yD-WB-33@gated-at.bofh.it> <qQ7uH-1zT-21@gated-at.bofh.it> <qQ7XK-23e-49@gated-at.bofh.it> <qQ87p-28L-21@gated-at.bofh.it> <qQ8Ar-2pr-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, 12 Jan 2016, Daniel Lezcano wrote:
> On 01/12/2016 03:26 PM, Thomas Gleixner wrote:
> > You better implement the switching part in the cpuidle core first, i.e.
> > proper
> > callbacks when a governor is switched in/out. Then make use of this
> > switcheroo
> > right away. Doing it the other way round is just wrong.
>
> The problem is this code is not another governor but a 'predictor' where the
> scheduler will use the information to ask the cpuidle to go to a specific idle
> state without going through the governor code, so into the governor's
> callbacks. It is on top of cpuidle. The scheduler will become the governor.
>
> The current straightforward code, does the switch in the cpu_idle_loop
> idle_task's function:
>
> [ ... ]
>
> if (cpu_idle_force_poll || tick_check_broadcast_expired())
> cpu_idle_poll();
> else {
> if (sched_idle_enabled()) {
> int latency = pm_qos_request(PM_QOS_CPU_DMA_LATENCY);
> s64 duration = sched_idle_next_wakeup();
> sched_idle(duration, latency);
> } else {
> cpuidle_idle_call();
> }
> }
>
> Due to the complexity of the code, this first step introduce a mechanism to
> predict the next event and re-use it trivially in the idle task.
This looks really wrong. Why on earth don't you implement a proper governor
and just get rid of this extra hackery?
Thanks,
tglx
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-06 16:30 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-06 18:50 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-07 16:50 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-12 20:30 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-10 23:40 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-10 23:50 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-11 00:00 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-01-11 00:20 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-08 16:50 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-12 13:50 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-12 14:50 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-12 15:20 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-12 15:30 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-12 16:00 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-12 16:20 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-01-12 17:10 +0100
Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period Thomas Gleixner <tglx@linutronix.de> - 2016-01-13 10:20 +0100
csiph-web