From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762596AbcALO1X (ORCPT ); Tue, 12 Jan 2016 09:27:23 -0500 Received: from www.linutronix.de ([62.245.132.108]:39006 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762444AbcALO1U (ORCPT ); Tue, 12 Jan 2016 09:27:20 -0500 Date: Tue, 12 Jan 2016 15:26:21 +0100 (CET) From: Thomas Gleixner To: Daniel Lezcano cc: peterz@infradead.org, rafael@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, nicolas.pitre@linaro.org, vincent.guittot@linaro.org Subject: Re: [RFC PATCH 2/2] sched: idle: IRQ based next prediction for idle period In-Reply-To: <56950ACC.4090001@linaro.org> Message-ID: References: <1452093774-17831-1-git-send-email-daniel.lezcano@linaro.org> <1452093774-17831-3-git-send-email-daniel.lezcano@linaro.org> <5694F490.3040300@linaro.org> <56950ACC.4090001@linaro.org> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 12 Jan 2016, Daniel Lezcano wrote: > On 01/12/2016 02:42 PM, Thomas Gleixner wrote: > > On Tue, 12 Jan 2016, Daniel Lezcano wrote: > > > On 01/08/2016 04:43 PM, Thomas Gleixner wrote: > > > > > + /* > > > > > + * Register the setup/free irq callbacks, so new interrupt or > > > > > + * freed interrupt will update their tracking. > > > > > + */ > > > > > + ret = register_irq_timings(&irqt_ops); > > > > > + if (ret) { > > > > > + pr_err("Failed to register timings ops\n"); > > > > > + return ret; > > > > > + } > > > > > > > > So that stuff is installed unconditionally. Is it used unconditionally > > > > as > > > > well? > > > > > > Sorry, I am not sure to understand your question. If the kernel is > > > compiled > > > with CONFIG_CPU_IDLE_GOV_SCHED=y, this code is enabled and use the irq > > > timings. The condition comes from the compilation option. > > > > The question is whether the option also activates that thing or is there > > still > > some /sys/whatever/idlegov magic where you can (de)select it. > > Yes, in the next patches of the series I did not send, we can switch to the > cpuidle's governor framework or idle-sched. I will look at how to disable it > when switching to the cpuidle's governors. 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. Thanks, tglx