From: Alex Shi <alex.shi@linaro.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Jason Low <jason.low2@hp.com>, Ingo Molnar <mingo@redhat.com>,
morten.rasmussen@arm.com, vincent.guittot@linaro.org,
daniel.lezcano@linaro.org, Mike Galbraith <efault@gmx.de>,
wangyun@linux.vnet.ibm.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/2] sched: add statistic for rq->max_idle_balance_cost
Date: Thu, 23 Jan 2014 18:49:35 +0800 [thread overview]
Message-ID: <52E0F3BF.5020904@linaro.org> (raw)
In-Reply-To: <20140123095443.GQ30183@twins.programming.kicks-ass.net>
On 01/23/2014 05:54 PM, Peter Zijlstra wrote:
> On Thu, Jan 23, 2014 at 02:49:25PM +0800, Alex Shi wrote:
>> On 01/23/2014 02:10 AM, Jason Low wrote:
>>>>>>> P64(avg_idle);
>>>>>>> + P64(max_idle_balance_cost);
>>>>>>> #endif
>>>>>>> P(ttwu_count);
>>>>>
>>>>> Not also the per-sd value in sd_alloc_ctl_domain_table() ?
>>> Yeah, tracking the sd->max_newidle_lb_cost can also be useful.
>>>
>>>
>>
>> Thanks for suggestion!
>>
>> I thought the sd->max_newidle_lb_cost keep changing. But yes, it's
>> still meaningful.
>> BTW, in the pandaboard ES, sd balance cost is about 1~2ms.
>
> That's an insane amount of time for only 2 cpus.
maybe, :(
but it is the data.
$ cat /proc/sys/kernel/sched_domain/cpu0/domain0/max_newidle_lb_cost
1873393
>
>> ---
>>
[...]
>> sd_alloc_ctl_domain_table(struct sched_domain *sd)
>> {
>> - struct ctl_table *table = sd_alloc_ctl_entry(8);
>> + struct ctl_table *table = sd_alloc_ctl_entry(9);
>
> tip/master has 13 there, not 8.
>
Sorry about this. updated on tip/master.
-----
>From c49ae4749ffa2d1f95bd0d8b3c8e6fbce8864f04 Mon Sep 17 00:00:00 2001
From: Alex Shi <alex.shi@linaro.org>
Date: Thu, 23 Jan 2014 18:39:54 +0800
Subject: [PATCH] sched: add statistic for newidle load balance cost
Tracking rq->max_idle_balance_cost and sd->max_newidle_lb_cost.
It's useful to know these values in debug mode.
Signed-off-by: Alex Shi <alex.shi@linaro.org>
---
kernel/sched/core.c | 9 ++++++---
kernel/sched/debug.c | 1 +
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 36c951b..4740456 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4815,7 +4815,7 @@ set_table_entry(struct ctl_table *entry,
static struct ctl_table *
sd_alloc_ctl_domain_table(struct sched_domain *sd)
{
- struct ctl_table *table = sd_alloc_ctl_entry(13);
+ struct ctl_table *table = sd_alloc_ctl_entry(14);
if (table == NULL)
return NULL;
@@ -4843,9 +4843,12 @@ sd_alloc_ctl_domain_table(struct sched_domain *sd)
sizeof(int), 0644, proc_dointvec_minmax, false);
set_table_entry(&table[10], "flags", &sd->flags,
sizeof(int), 0644, proc_dointvec_minmax, false);
- set_table_entry(&table[11], "name", sd->name,
+ set_table_entry(&table[11], "max_newidle_lb_cost",
+ &sd->max_newidle_lb_cost,
+ sizeof(long), 0644, proc_doulongvec_minmax, false);
+ set_table_entry(&table[12], "name", sd->name,
CORENAME_MAX_SIZE, 0444, proc_dostring, false);
- /* &table[12] is terminator */
+ /* &table[13] is terminator */
return table;
}
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index dd52e7f..7f17a38 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -321,6 +321,7 @@ do { \
P(sched_goidle);
#ifdef CONFIG_SMP
P64(avg_idle);
+ P64(max_idle_balance_cost);
#endif
P(ttwu_count);
--
1.8.1.2
--
Thanks
Alex
next prev parent reply other threads:[~2014-01-23 10:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-21 5:33 [RFC PATCH 1/2] sched/update_avg: avoid negative time Alex Shi
2014-01-21 5:33 ` [PATCH 2/2] sched: add statistic for rq->max_idle_balance_cost Alex Shi
2014-01-21 7:43 ` Jason Low
2014-01-21 8:44 ` Alex Shi
2014-01-22 8:24 ` Alex Shi
2014-01-22 16:09 ` Peter Zijlstra
2014-01-22 18:10 ` Jason Low
2014-01-23 6:49 ` Alex Shi
2014-01-23 9:54 ` Peter Zijlstra
2014-01-23 10:49 ` Alex Shi [this message]
2014-01-23 12:32 ` Morten Rasmussen
2014-01-23 14:43 ` Alex Shi
2014-02-11 12:17 ` [tip:sched/core] sched: Add statistic for newidle load balance cost tip-bot for Alex Shi
2014-01-21 5:59 ` [RFC PATCH 1/2] sched/update_avg: avoid negative time Alex Shi
2014-01-21 6:49 ` Michael wang
2014-01-21 8:46 ` Alex Shi
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=52E0F3BF.5020904@linaro.org \
--to=alex.shi@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=efault@gmx.de \
--cc=jason.low2@hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=morten.rasmussen@arm.com \
--cc=peterz@infradead.org \
--cc=vincent.guittot@linaro.org \
--cc=wangyun@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.