From: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>, Mike Galbraith <efault@gmx.de>,
Suresh Siddha <suresh.b.siddha@intel.com>,
Paul Turner <pjt@google.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] sched: steer waking task to empty cfs_rq for better latencies
Date: Thu, 03 May 2012 11:13:24 +0530 [thread overview]
Message-ID: <87mx5px1j7.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <20120502140117.GC22740@linux.vnet.ibm.com>
On Wed, 2 May 2012 19:31:17 +0530, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com> wrote:
> * Peter Zijlstra <peterz@infradead.org> [2012-04-24 19:09:14]:
>
> > On Tue, 2012-04-24 at 18:58 +0200, Peter Zijlstra wrote:
> > > On Tue, 2012-04-24 at 22:26 +0530, Srivatsa Vaddagiri wrote:
> > > > Steer a waking task towards a cpu where its cgroup has zero tasks (in
> > > > order to provide it better sleeper credits and hence reduce its wakeup
> > > > latency).
> > >
> > > That's just vile.. pjt could you post your global vruntime stuff so
> > > vatsa can have a go at that?
> >
> > That is, you're playing a deficiency we should fix, not exploit.
> >
> > Also, you do a second loop over all those cpus right after we've already
> > iterated them..
> >
> > furthermore, that 100%+ gain is still way insane, what else is broken?
> > Did you try those paravirt tlb-flush patches and other such weirdness?
>
> I got around to try pv-tlb-flush patches and it showed >100%
> improvement for sysbench (without the balance-on-wake patch on host). This
> was what readprofile showed (when pv-tlb-flush patches were absent in
> guest):
>
> 1135704 total 0.3265
> 636737 native_cpuid 18192.4857
> 283201 __bitmap_empty 2832.0100
> 137853 flush_tlb_others_ipi 569.6405
>
> I will try out how much they help Trade workload (which got me started
> on this originally) and report back (part of the problem in trying out
> is that pv-tlb-flush platches are throwing wierd problems - which Nikunj
> is helping investigate).
>
A bug, the below patch should cure it. kvm_mmu_flush_tlb will queue the
request, but we have already passed the phase of checking that. I will
fold this in my next version.
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 6c42056..b114411 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1550,7 +1550,7 @@ static void kvm_set_vcpu_state(struct kvm_vcpu *vcpu)
vs->state = 1;
if (vs->flush_on_enter) {
- kvm_mmu_flush_tlb(vcpu);
+ kvm_x86_ops->tlb_flush(vcpu);
vs->flush_on_enter = 0;
}
prev parent reply other threads:[~2012-05-03 5:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-24 16:56 [PATCH v1] sched: steer waking task to empty cfs_rq for better latencies Srivatsa Vaddagiri
2012-04-24 16:58 ` Peter Zijlstra
2012-04-24 17:07 ` Srivatsa Vaddagiri
2012-04-24 17:12 ` Peter Zijlstra
2012-04-24 17:35 ` Srivatsa Vaddagiri
2012-04-24 18:03 ` Rakib Mullick
2012-04-24 17:09 ` Peter Zijlstra
2012-04-24 17:26 ` Srivatsa Vaddagiri
2012-05-02 14:01 ` Srivatsa Vaddagiri
2012-05-03 5:43 ` Nikunj A Dadhania [this message]
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=87mx5px1j7.fsf@linux.vnet.ibm.com \
--to=nikunj@linux.vnet.ibm.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=suresh.b.siddha@intel.com \
--cc=vatsa@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox