From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Marcelo Tosatti <mtosatti@redhat.com>,
Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
Rik van Riel <riel@redhat.com>, S390 <linux-s390@vger.kernel.org>,
Carsten Otte <cotte@de.ibm.com>, KVM <kvm@vger.kernel.org>,
chegu vinod <chegu_vinod@hp.com>,
"Andrew M. Theurer" <habanero@linux.vnet.ibm.com>,
LKML <linux-kernel@vger.kernel.org>, X86 <x86@kernel.org>,
Gleb Natapov <gleb@redhat.com>,
linux390@de.ibm.com,
Srivatsa Vaddagiri <srivatsa.vaddagiri@gmail.com>,
Joerg Roedel <joerg.roedel@amd.com>
Subject: Re: [PATCH RFC V3 2/3] kvm: Note down when cpu relax intercepted or pause loop exited
Date: Fri, 13 Jul 2012 09:05:59 +0530 [thread overview]
Message-ID: <4FFF979F.8070100@linux.vnet.ibm.com> (raw)
In-Reply-To: <4FFF2D5F.3050902@de.ibm.com>
On 07/13/2012 01:32 AM, Christian Borntraeger wrote:
> On 12/07/12 21:18, Raghavendra K T wrote:
>> +#ifdef CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT
> [...]
>> + struct {
>> + bool cpu_relax_intercepted;
>> + bool dy_eligible;
>> + } ple;
>> +#endif
> [...]
>> }
>> vcpu->run = page_address(page);
>> + vcpu->ple.cpu_relax_intercepted = false;
>> + vcpu->ple.dy_eligible = false;
>
> This struct is only defined if CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT is set, but here it
> is always accessed. Will break on !x86&& !s390.
Yes! I forgot about archs in init function.
How about having
#ifdef CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT
vcpu->ple.cpu_relax_intercepted = false;
vcpu->ple.dy_eligible = false;
#endif
This would solve all the problem.
>>
>> r = kvm_arch_vcpu_init(vcpu);
>> if (r< 0)
>> @@ -1577,6 +1579,7 @@ void kvm_vcpu_on_spin(struct kvm_vcpu *me)
>> int pass;
>> int i;
>>
>> + me->ple.cpu_relax_intercepted = true;
>
> dito
currently vcpu_on_spin is used only by x86 and s390. so if some other
arch in future uses vcpu_on_spin, I believe they also have to enable
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT
what do you think?
otherwise we have to add hook everywhere
>> /*
>> * We boost the priority of a VCPU that is runnable but not
>> * currently running, because it got preempted by something
>> @@ -1602,6 +1605,7 @@ void kvm_vcpu_on_spin(struct kvm_vcpu *me)
>> }
>> }
>> }
>> + me->ple.cpu_relax_intercepted = false;
>
> again.
>
> maybe define static inline access functions in kvm_host.h that are no-ops
> if CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT is not set.
>
next prev parent reply other threads:[~2012-07-13 3:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-12 19:17 [PATCH RFC V3 0/3] kvm: Improving directed yield in PLE handler Raghavendra K T
2012-07-12 19:17 ` [PATCH RFC V3 1/3] kvm/config: Add config to support ple or cpu relax optimzation Raghavendra K T
2012-07-12 19:18 ` [PATCH RFC V3 2/3] kvm: Note down when cpu relax intercepted or pause loop exited Raghavendra K T
2012-07-12 20:02 ` Christian Borntraeger
2012-07-13 3:35 ` Raghavendra K T [this message]
2012-07-13 6:13 ` Christian Borntraeger
2012-07-13 10:11 ` Raghavendra K T
2012-07-13 13:54 ` Srikar Dronamraju
2012-07-16 7:38 ` Raghavendra K T
2012-07-12 19:18 ` [PATCH RFC V3 3/3] kvm: Choose better candidate for directed yield Raghavendra K T
2012-07-12 19:23 ` [PATCH RFC V3 0/3] kvm: Improving directed yield in PLE handler Raghavendra K T
2012-07-19 9:15 ` [RESEND PATCH " Raghavendra K T
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=4FFF979F.8070100@linux.vnet.ibm.com \
--to=raghavendra.kt@linux.vnet.ibm.com \
--cc=avi@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=chegu_vinod@hp.com \
--cc=cotte@de.ibm.com \
--cc=gleb@redhat.com \
--cc=habanero@linux.vnet.ibm.com \
--cc=hpa@zytor.com \
--cc=joerg.roedel@amd.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux390@de.ibm.com \
--cc=mingo@redhat.com \
--cc=mtosatti@redhat.com \
--cc=riel@redhat.com \
--cc=srivatsa.vaddagiri@gmail.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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.