From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: mingo@elte.hu, pjt@google.com, efault@gmx.de, venki@google.com,
suresh.b.siddha@intel.com, linux-kernel@vger.kernel.org,
" Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>
Subject: Re: sched: Performance of Trade workload running inside VM
Date: Sat, 18 Feb 2012 13:11:27 +0530 [thread overview]
Message-ID: <20120218074127.GA9077@linux.vnet.ibm.com> (raw)
In-Reply-To: <1329327902.2293.168.camel@twins>
* Peter Zijlstra <a.p.zijlstra@chello.nl> [2012-02-15 18:45:02]:
> I'm still waiting for a problem description that isn't a book.
>
> What does the load-balancer do,
select_idle_sibling() tries finding a core (sched group) which is fully idle
failing which will let task wakeup on prev_cpu.
> why is it wrong,
Take this scenario. wakeup source for task is cpu0 while its prev_cpu is
cpu7 (which is in another cache domain).
cache_dom0 cache_dom1
(0, 1) (2, 3) (4, 5) (6, 7)
nr_running-> 1 1 1 1 0, 1 1, 2
In this case we let task wakeup on cpu7, resulting in it incurring some
wait time before being scheduled. A better choice would have been cpu4 (whose
core is partially idle) or in general any other less-loaded cpu which is in same
cache domain?
> why does your patch sort it etc.
The patch does result in a hunt for "least" busy cpu when the target cpu
returned by select_idle_sibling() is not idle - thus resulting in better
scheduling latencies for the task (and in turn better benchmark scores).
Another variant of the patch could be to have select_idle_sibling() look
for any idle cpu that is in same cache domain (rather than looking for a
whole group of cpus to be idle)?
- vatsa
next prev parent reply other threads:[~2012-02-18 7:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-14 11:28 sched: Performance of Trade workload running inside VM Srivatsa Vaddagiri
2012-02-15 11:59 ` Peter Zijlstra
2012-02-15 17:10 ` Srivatsa Vaddagiri
2012-02-15 17:24 ` Peter Zijlstra
2012-02-15 17:38 ` Srivatsa Vaddagiri
2012-02-15 17:45 ` Peter Zijlstra
2012-02-15 17:56 ` Srivatsa Vaddagiri
2012-02-18 7:41 ` Srivatsa Vaddagiri [this message]
2012-02-20 14:56 ` Peter Zijlstra
2012-02-20 15:09 ` Srivatsa Vaddagiri
2012-02-15 17:26 ` Peter Zijlstra
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=20120218074127.GA9077@linux.vnet.ibm.com \
--to=vatsa@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nikunj@linux.vnet.ibm.com \
--cc=pjt@google.com \
--cc=suresh.b.siddha@intel.com \
--cc=venki@google.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.