mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: alex.shi@intel.com, vincent.guittot@linaro.org,
	peterz@infradead.org, pjt@google.com, efault@gmx.de,
	rjw@rjwysocki.net, morten.rasmussen@arm.com,
	svaidy@linux.vnet.ibm.com, arjan@linux.intel.com,
	mingo@kernel.org
Cc: nicolas.pitre@linaro.org, len.brown@intel.com,
	yuyang.du@intel.com, linaro-kernel@lists.linaro.org,
	daniel.lezcano@linaro.org, corbet@lwn.net,
	catalin.marinas@arm.com, markgross@thegnar.org,
	sundar.iyer@intel.com, linux-kernel@vger.kernel.org,
	dietmar.eggemann@arm.com, Lorenzo.Pieralisi@arm.com,
	mike.turquette@linaro.org, akpm@linux-foundation.org,
	paulmck@linux.vnet.ibm.com, tglx@linutronix.de
Subject: [RFC PATCH V2 14/19] sched: add power/performance balance allow flag
Date: Mon, 11 Aug 2014 17:09:58 +0530	[thread overview]
Message-ID: <20140811113948.31956.86.stgit@preeti.in.ibm.com> (raw)
In-Reply-To: <20140811113000.31956.52857.stgit@preeti.in.ibm.com>

From: Alex Shi <alex.shi@intel.com>

If a sched domain is idle enough for regular power balance, LBF_POWER_BAL
will be set, LBF_PERF_BAL will be clean. If a sched domain is busy,
their value will be set oppositely.

If the domain is suitable for power balance, but balance should not
be down by this cpu(this cpu is already idle or full), both of flags
are cleared to wait a suitable cpu to do power balance.
That mean no any balance, neither power balance nor performance balance
will be done on this cpu.

Above logical will be implemented by incoming patches.

Signed-off-by: Alex Shi <alex.shi@intel.com>
[Added CONFIG_SCHED_POWER switch to enable this patch]
Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
---

 kernel/sched/fair.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index e7a677e..f9b2a21 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5372,6 +5372,11 @@ enum fbq_type { regular, remote, all };
 #define LBF_DST_PINNED  0x04
 #define LBF_SOME_PINNED	0x08
 
+#ifdef CONFIG_SCHED_POWER
+#define LBF_POWER_BAL  0x08    /* if power balance allowed */
+#define LBF_PERF_BAL   0x10    /* if performance balance allowed */
+#endif
+
 struct lb_env {
 	struct sched_domain	*sd;
 
@@ -6866,6 +6871,9 @@ static int load_balance(int this_cpu, struct rq *this_rq,
 		.idle		= idle,
 		.loop_break	= sched_nr_migrate_break,
 		.cpus		= cpus,
+#ifdef CONFIG_SCHED_POWER
+		.flags		= LBF_PERF_BAL,
+#endif
 		.fbq_type	= all,
 	};
 


  parent reply	other threads:[~2014-08-11 11:41 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-11 11:31 [RFC PATCH V2 00/19] Power Scheduler Design Preeti U Murthy
2014-08-11 11:32 ` [RFC PATCH V2 01/19] sched/power: Remove cpu idle state selection and cpu frequency tuning Preeti U Murthy
2014-08-18 15:39   ` Nicolas Pitre
2014-08-18 17:26     ` Preeti U Murthy
2014-08-18 17:53       ` Nicolas Pitre
2014-08-11 11:33 ` [RFC PATCH V2 02/19] sched/power: Move idle state selection into the scheduler Preeti U Murthy
2014-08-18 15:54   ` Nicolas Pitre
2014-08-18 17:19     ` Preeti U Murthy
2014-08-18 18:25       ` Nicolas Pitre
2014-08-11 11:33 ` [RFC PATCH V2 03/19] sched/idle: Enumerate idle states in scheduler topology Preeti U Murthy
2014-08-11 11:34 ` [RFC PATCH V2 04/19] sched: add sched balance policies in kernel Preeti U Murthy
2014-08-11 11:34 ` [RFC PATCH V2 05/19] sched: add sysfs interface for sched_balance_policy selection Preeti U Murthy
2014-08-11 11:35 ` [RFC PATCH V2 06/19] sched: log the cpu utilization at rq Preeti U Murthy
2014-08-11 11:35 ` [RFC PATCH V2 07/19] sched: add new sg/sd_lb_stats fields for incoming fork/exec/wake balancing Preeti U Murthy
2014-08-11 11:36 ` [RFC PATCH V2 08/19] sched: move sg/sd_lb_stats struct ahead Preeti U Murthy
2014-08-11 11:36 ` [RFC PATCH V2 09/19] sched: get rq potential maximum utilization Preeti U Murthy
2014-08-11 11:37 ` [RFC PATCH V2 10/19] sched: detect wakeup burst with rq->avg_idle Preeti U Murthy
2014-08-11 11:38 ` [RFC PATCH V2 11/19] sched: add power aware scheduling in fork/exec/wake Preeti U Murthy
2014-08-11 11:38 ` [RFC PATCH V2 12/19] sched: using avg_idle to detect bursty wakeup Preeti U Murthy
2014-08-11 11:39 ` [RFC PATCH V2 13/19] sched: packing transitory tasks in wakeup power balancing Preeti U Murthy
2014-08-11 11:39 ` Preeti U Murthy [this message]
2014-08-11 11:40 ` [RFC PATCH V2 15/19] sched: pull all tasks from source grp and no balance for prefer_sibling Preeti U Murthy
2014-08-11 11:41 ` [RFC PATCH V2 16/19] sched: add new members of sd_lb_stats Preeti U Murthy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140811113948.31956.86.stgit@preeti.in.ibm.com \
    --to=preeti@linux.vnet.ibm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex.shi@intel.com \
    --cc=arjan@linux.intel.com \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=daniel.lezcano@linaro.org \
    --cc=dietmar.eggemann@arm.com \
    --cc=efault@gmx.de \
    --cc=len.brown@intel.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markgross@thegnar.org \
    --cc=mike.turquette@linaro.org \
    --cc=mingo@kernel.org \
    --cc=morten.rasmussen@arm.com \
    --cc=nicolas.pitre@linaro.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=rjw@rjwysocki.net \
    --cc=sundar.iyer@intel.com \
    --cc=svaidy@linux.vnet.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=vincent.guittot@linaro.org \
    --cc=yuyang.du@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome