From: Michael wang <wangyun@linux.vnet.ibm.com>
To: Mike Galbraith <umgwanakikbuti@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Rik van Riel <riel@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@kernel.org>, Alex Shi <alex.shi@linaro.org>,
Paul Turner <pjt@google.com>, Mel Gorman <mgorman@suse.de>,
Daniel Lezcano <daniel.lezcano@linaro.org>
Subject: Re: [ISSUE] sched/cgroup: Does cpu-cgroup still works fine nowadays?
Date: Fri, 16 May 2014 12:24:35 +0800 [thread overview]
Message-ID: <53759303.40409@linux.vnet.ibm.com> (raw)
In-Reply-To: <1400208690.7133.11.camel@marge.simpson.net>
Hey, Mike :)
On 05/16/2014 10:51 AM, Mike Galbraith wrote:
> On Fri, 2014-05-16 at 10:23 +0800, Michael wang wrote:
>
>> But we found that one difference when group get deeper is the tasks of
>> that group become to gathered on CPU more often, some time all the
>> dbench instances was running on the same CPU, this won't happen for l1
>> group, may could explain why dbench could not get CPU more than 100% any
>> more.
>
> Right. I played a little (sane groups), saw load balancing as well.
Yeah, now we found that even l2 groups will face the same issue, allow
me to re-list the details here:
Firstly do workaround (10 times latency):
echo 240000000 > /proc/sys/kernel/sched_latency_ns
echo NO_GENTLE_FAIR_SLEEPERS > /sys/kernel/debug/sched_features
This workaround may related to another issue about vruntime bonus for
sleeper, but let's put it down currently and focus on the gather issue.
Create groups like:
mkdir /sys/fs/cgroup/cpu/A
mkdir /sys/fs/cgroup/cpu/B
mkdir /sys/fs/cgroup/cpu/C
mkdir /sys/fs/cgroup/cpu/l1
mkdir /sys/fs/cgroup/cpu/l1/A
mkdir /sys/fs/cgroup/cpu/l1/B
mkdir /sys/fs/cgroup/cpu/l1/C
Run workload like (6 is half of the CPUS on my box):
echo $$ > /sys/fs/cgroup/cpu/A/tasks ; dbench 6
echo $$ > /sys/fs/cgroup/cpu/B/tasks ; stress 6
echo $$ > /sys/fs/cgroup/cpu/C/tasks ; stress 6
Check top, each dbench instance got around 45%, totally around 270%,
this is close to the case when only dbench running (300%) since we use
the workaround, otherwise we will see it to be around 100%, but that's
another issue...
By sample /proc/sched_debug, rarely see more than 2 dbench instances on
same rq.
Now re-run workload like:
echo $$ > /sys/fs/cgroup/cpu/l1/A/tasks ; dbench 6
echo $$ > /sys/fs/cgroup/cpu/l1/B/tasks ; stress 6
echo $$ > /sys/fs/cgroup/cpu/l1/C/tasks ; stress 6
Check top, each dbench instance got around 20%, totally around 120%,
sometime dropped under 100%, and dbench throughput dropped.
By sample /proc/sched_debug, frequently see 4 or 5 dbench instances on
same rq.
So just one level deeper from l1 to l2 and such a big difference, and
groups with same shares not equally share the resources...
BTW, by bind each dbench instances to different CPU, dbench in l2 groups
will regain all the CPU% which is 300%.
I'll keep investigation and try to figure out why l2 group's tasks
starting to gather, please let me know if there are any suggestions ;-)
Regards,
Michael Wang
>
> -Mike
>
> --
> 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/
>
next prev parent reply other threads:[~2014-05-16 4:24 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-13 3:34 [ISSUE] sched/cgroup: Does cpu-cgroup still works fine nowadays? Michael wang
2014-05-13 9:47 ` Peter Zijlstra
2014-05-13 13:36 ` Rik van Riel
2014-05-13 14:23 ` Peter Zijlstra
2014-05-14 3:27 ` Michael wang
2014-05-14 7:36 ` Michael wang
2014-05-14 9:44 ` Peter Zijlstra
2014-05-15 3:46 ` Michael wang
2014-05-15 8:35 ` Peter Zijlstra
2014-05-15 8:46 ` Michael wang
2014-05-15 9:06 ` Peter Zijlstra
2014-05-15 9:35 ` Michael wang
2014-05-15 11:57 ` Peter Zijlstra
2014-05-16 2:23 ` Michael wang
2014-05-16 2:51 ` Mike Galbraith
2014-05-16 4:24 ` Michael wang [this message]
2014-05-16 7:54 ` Peter Zijlstra
2014-05-16 8:15 ` Michael wang
2014-06-10 8:56 ` Michael wang
2014-06-10 12:12 ` Peter Zijlstra
2014-06-11 6:13 ` Michael wang
2014-06-11 8:24 ` Peter Zijlstra
2014-06-11 9:18 ` Michael wang
2014-06-23 9:42 ` Peter Zijlstra
2014-06-24 3:10 ` Michael wang
2014-05-16 7:48 ` Peter Zijlstra
2014-05-14 3:21 ` Michael wang
2014-05-14 3:16 ` Michael wang
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=53759303.40409@linux.vnet.ibm.com \
--to=wangyun@linux.vnet.ibm.com \
--cc=alex.shi@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=riel@redhat.com \
--cc=umgwanakikbuti@gmail.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;
as well as URLs for NNTP newsgroup(s).