Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752026Ab2HOOYh (ORCPT ); Wed, 15 Aug 2012 10:24:37 -0400 Received: from mail-yx0-f174.google.com ([209.85.213.174]:38114 "EHLO mail-yx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750781Ab2HOOYf (ORCPT ); Wed, 15 Aug 2012 10:24:35 -0400 MIME-Version: 1.0 In-Reply-To: <5028F12C.7080405@intel.com> References: <5028F12C.7080405@intel.com> Date: Wed, 15 Aug 2012 20:24:34 +0600 Message-ID: Subject: Re: [discussion]sched: a rough proposal to enable power saving in scheduler From: Rakib Mullick To: Alex Shi Cc: Peter Zijlstra , Suresh Siddha , Arjan van de Ven , vincent.guittot@linaro.org, svaidy@linux.vnet.ibm.com, Ingo Molnar , Andrew Morton , Linus Torvalds , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1687 Lines: 48 On 8/13/12, Alex Shi wrote: > Since there is no power saving consideration in scheduler CFS, I has a > very rough idea for enabling a new power saving schema in CFS. > > It bases on the following assumption: > 1, If there are many task crowd in system, just let few domain cpus > running and let other cpus idle can not save power. Let all cpu take the > load, finish tasks early, and then get into idle. will save more power > and have better user experience. > This assumption indirectly point towards the scheme when performance is enabled, isn't it? Cause you're trying to spread the load equally amongst all the CPUs. > 2, schedule domain, schedule group perfect match the hardware, and > the power consumption unit. So, pull tasks out of a domain means > potentially this power consumption unit idle. > How do you plan to test this power saving scheme? Using powertop? Or, is there any other tools? > > select_task_rq_fair() > { > for_each_domain(cpu, tmp) { > if (policy == power && tmp_has_capacity && > tmp->flags & sd_flag) { > sd = tmp; > //It is fine to got cpu in the domain > break; > } > } > > while(sd) { > if policy == power > find_busiest_and_capable_group() I'm not sure what find_busiest_and_capable_group() would really be, it seems it'll find the busiest and capable group, but isn't it a conflict with the first assumption you proposed on your proposal? Thanks, Rakib. -- 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/