Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758906AbbKSRYR (ORCPT ); Thu, 19 Nov 2015 12:24:17 -0500 Received: from foss.arm.com ([217.140.101.70]:41366 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750782AbbKSRYP (ORCPT ); Thu, 19 Nov 2015 12:24:15 -0500 Date: Thu, 19 Nov 2015 17:24:07 +0000 From: Morten Rasmussen To: Arjan van de Ven Cc: Jacob Pan , Peter Zijlstra , Ingo Molnar , Thomas Gleixner , John Stultz , LKML , Srinivas Pandruvada , Len Brown , Rafael Wysocki , Eduardo Valentin , Paul Turner Subject: Re: [PATCH 3/4] sched: introduce synchronized idle injection Message-ID: <20151119172405.GA798@e105550-lin.cambridge.arm.com> References: <1447444387-23525-1-git-send-email-jacob.jun.pan@linux.intel.com> <1447444387-23525-4-git-send-email-jacob.jun.pan@linux.intel.com> <20151118154457.GD30184@e105550-lin.cambridge.arm.com> <564C9E93.8030901@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <564C9E93.8030901@linux.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1953 Lines: 34 On Wed, Nov 18, 2015 at 07:51:47AM -0800, Arjan van de Ven wrote: > On 11/18/2015 7:44 AM, Morten Rasmussen wrote: > >I would not necessarily want to punish all cpus > >system-wide if we have local overheating in one corner. If would rather > >have it apply to only the overheating socket in a multi-socket machine > >and only the big cores in a big.LITTLE system. > > most of the time thermal issues aren't inside the SOC, but on a system level > due to cheap heat spreaders or outright lack of space due to thinness. But > even if you have one part of the die too hot: > > For core level idle injection, no need to synchronize that; the reason to synchronize > is generally that when ALL cores are idle, additional power savings kick in > (like memory going to self refresh, fabrics power gating etc); those additional > power savings are what makes this more efficient than just voltage/frequency > scaling at the bottom of that range... not so much the fact that things are just idle. I could see this technique being useful within the SoC as well. Synchronized idle injection on all cpus in a cluster would allow us to reach cluster idle states where resources shared within the cluster can be gated or powered off as well. But yes, shutting down everything is more efficient if you are en serious trouble. I was hoping this could be a good alternative to hotplugging cpus out for thermal management in non-critical situations, but it isn't that appealing if you have to throttle all the cpus. I would consider it an emergency-only mechanism (as in emergency brake) that isn't really suitable for normal thermal management. In which case: Does this sort of mechanism belong in the scheduler code? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/