From: Jan Kiszka <jan.kiszka@web.de>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Arthur Chunqi Li <yzt356@gmail.com>,
kvm@vger.kernel.org, gleb@redhat.com, "Zhang,
Yang Z" <yang.z.zhang@intel.com>
Subject: Re: [PATCH v5] KVM: nVMX: Fully support of nested VMX preemption timer
Date: Sun, 29 Sep 2013 18:24:16 +0200 [thread overview]
Message-ID: <52485430.6040405@web.de> (raw)
In-Reply-To: <5245279A.4090302@web.de>
[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]
On 2013-09-27 08:37, Jan Kiszka wrote:
> On 2013-09-26 22:44, Paolo Bonzini wrote:
>> Il 26/09/2013 19:47, Paolo Bonzini ha scritto:
>>>
>>> If I only apply this hunk, which disables the preemption timer while
>>> in L1:
>>>
>>> @@ -8396,6 +8375,8 @@ static void nested_vmx_vmexit(struct kvm_vcpu *vcpu)
>>>
>>> load_vmcs12_host_state(vcpu, vmcs12);
>>>
>>> + vmcs_write32(PIN_BASED_VM_EXEC_CONTROL, vmx_pin_based_exec_ctrl(vmx));
>>> +
>>> /* Update TSC_OFFSET if TSC was changed while L2 ran */
>>> vmcs_write64(TSC_OFFSET, vmx->nested.vmcs01_tsc_offset);
>>>
>>> then the testcase works for somewhat larger values of the preemption timer
>>> (up to ~1500000 TSC cycles), but then fails.
>
> Err, does this mean we run L1 with PIN_BASED_VM_EXEC_CONTROL of L2?
> Ouch. Should be fixed independently.
No, it doesn't mean this. L1 and L2 run on different VMCS, thus should
be able to set their PIN_BASED_VM_EXEC_CONTROL independently. I have no
clue ATM what that hunk can make a difference for you. Will have a
closer look.
BTW, aren't many VMCS fields written redundantly in prepare_vmcs02? I
mean, those that weren't changed by L1 in the shadow VMCS or require
updates for other reasons. There seems to be some room for saving a few
cycles.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]
next prev parent reply other threads:[~2013-09-29 16:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-16 8:11 [PATCH v5] KVM: nVMX: Fully support of nested VMX preemption timer Arthur Chunqi Li
2013-09-22 7:47 ` Gleb Natapov
2013-09-25 13:58 ` Paolo Bonzini
2013-09-26 15:04 ` Paolo Bonzini
2013-09-26 17:19 ` Jan Kiszka
2013-09-26 17:47 ` Paolo Bonzini
2013-09-26 20:44 ` Paolo Bonzini
2013-09-27 6:37 ` Jan Kiszka
2013-09-29 16:24 ` Jan Kiszka [this message]
2013-09-29 11:30 ` Gleb Natapov
2013-09-30 9:08 ` Jan Kiszka
2013-10-02 18:47 ` Jan Kiszka
2013-10-10 16:12 ` Jan Kiszka
2013-10-10 16:20 ` Paolo Bonzini
2013-10-25 9:56 ` Paolo Bonzini
2013-10-25 9:59 ` Jan Kiszka
2013-10-11 8:17 ` Arthur Chunqi Li
2013-10-03 8:09 ` Paolo Bonzini
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=52485430.6040405@web.de \
--to=jan.kiszka@web.de \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=yang.z.zhang@intel.com \
--cc=yzt356@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 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.