From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753080AbbI3Pyl (ORCPT ); Wed, 30 Sep 2015 11:54:41 -0400 Received: from [85.118.1.10] ([85.118.1.10]:37232 "EHLO casper.infradead.org" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1752372AbbI3Pye (ORCPT ); Wed, 30 Sep 2015 11:54:34 -0400 Date: Wed, 30 Sep 2015 17:48:35 +0200 From: Peter Zijlstra To: "Rafael J. Wysocki" Cc: Luiz Capitulino , linux-kernel@vger.kernel.org, riel@redhat.com, rafael.j.wysocki@intel.com, mingo@kernel.org, Linux PM list , Len Brown , Thomas Gleixner Subject: Re: [RFC 0/3] sched/idle: run-time support for setting idle polling Message-ID: <20150930154835.GP3604@twins.programming.kicks-ass.net> References: <1442954062-28578-1-git-send-email-lcapitulino@redhat.com> <1593595.NpzC8TsdGC@vostro.rjw.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1593595.NpzC8TsdGC@vostro.rjw.lan> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Sep 23, 2015 at 03:17:59AM +0200, Rafael J. Wysocki wrote: > On Tuesday, September 22, 2015 04:34:19 PM Luiz Capitulino wrote: > > Hi, > > Hi, > > Please always CC patches related to power management to linux-pm@vger.kernel.org. > > Also CCing Len Brown who's the maintainer of the intel_idle driver and Peter Z. And the sched people for touching kernel/sched (thanks Rafael)! > > Some archs allow the system administrator to set the > > idle thread behavior to spin instead of entering > > sleep states. The x86 arch, for example, has a idle= > > command-line parameter for this purpose. > > > > However, the command-line parameter has two problems: > > > > 1. You have to reboot if you change your mind > > 2. This setting affects all system cores > > > > The second point is relevant for systems where cores > > are partitioned into bookkeeping and low-latency cores. > > Usually, it's OK for bookkeeping cores to enter deeper > > sleep states. It's only the low-latency cores that should > > poll when entering idle. > > This looks like a use case for PM QoS to me rather. You'd need to make it > work per-CPU rather than globally, but that really is about asking for > minimum latency. Agreed, this should very much hook into the PM QoS stuff. > > > This series adds the following file: > > > > /sys/devices/system/cpu/cpu_idle > > > > This file outputs and stores a cpumask of the cores > > which will have idle polling behavior. > > I don't like this interface at all. > > You have a cpuidle directory per core already, so what's the reason to add an Yeah this should very much not be exposed like this. Ideally every cpuidle driver would get 'polling' as a default state and the QoS constraints might select it if nothing else matches. And no mucking about with the force polling flag at _all_.