From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [PATCH 0/8] KVM updates for 2.6.20-rc2
Date: Thu, 28 Dec 2006 16:18:43 +0200 [thread overview]
Message-ID: <4593D243.1030301@qumranet.com> (raw)
In-Reply-To: <20061228140742.GA10033-X9Un+BFzKDI@public.gmane.org>
Ingo Molnar wrote:
> * Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
>
>
>>> yeah. Would be nice to see some hard numbers about how many cycles all
>>> these context load/save variants take.
>>>
>> PIO latency on AMD (including a trip to qemu and back) is 5500 cycles
>> [1]. Intel is significantly higher.
>>
>> [1] http://virt.kernelnewbies.org/KVM/Performance
>>
>
> ok. We need the IPI only on VMX, right?
Correct.
> That's because it has cached VM
> state in the CPU that needs to be flushed out to the public VM area
> before it can be loaded into another CPU, correct?
Correct.
> Is there no cheap way
> to do this flushing preemptively (say in vcpu_put()), to make the VM
> context potentially loadable into another CPU?
You could issue a vmclear, but that forces a vm entry on the _same_ cpu
to use vmlaunch instead of vmresume, which is documented as expensive.
If we assume that cpu migrations are much rarer than vm entries (a very
safe assumption), then the ipi is better than forcing a vmclear on
vcpu_put().
Here's the relevant text from scripture:
The following software usage is consistent with these limitations:
• VMCLEAR should be executed for a VMCS before it is used for VM entry.
• VMLAUNCH should be used for the first VM entry using a VMCS after
VMCLEAR has
been executed for that VMCS.
• VMRESUME should be used for any subsequent VM entry using a VMCS
(until the next
execution of VMCLEAR for the VMCS).
It is expected that, in general, VMRESUME will have lower latency than
VMLAUNCH. Since
“migrating” a VMCS from one logical processor to another requires use of
VMCLEAR (see
Section 20.10.1), which sets the launch state of the VMCS to “clear,”
such migration requires
the next VM entry to be performed using VMLAUNCH. Software developers
can avoid the
performance cost of increased VM-entry latency by avoiding unnecessary
migration of a VMCS
from one logical processor to another.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
next prev parent reply other threads:[~2006-12-28 14:18 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-28 10:07 [PATCH 0/8] KVM updates for 2.6.20-rc2 Avi Kivity
2006-12-28 10:08 ` [PATCH 1/8] KVM: Use boot_cpu_data instead of current_cpu_data Avi Kivity
2006-12-28 10:09 ` [PATCH 2/8] KVM: Simplify is_long_mode() Avi Kivity
[not found] ` <45939755.7010603-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 10:10 ` [PATCH 3/8] KVM: Initialize kvm_arch_ops on unload Avi Kivity
2006-12-28 10:11 ` [PATCH 4/8] KVM: Implement a few system configuration msrs Avi Kivity
[not found] ` <20061228101117.65A392500F7-LjA0eNSCdXrQnzwC+xcbyw@public.gmane.org>
2007-01-01 0:07 ` Ingo Oeser
[not found] ` <200701010107.18008.ioe-lkml-MFZNYGWX9eyELgA04lAiVw@public.gmane.org>
2007-01-01 8:20 ` Avi Kivity
2006-12-28 10:14 ` [PATCH 7/8] KVM: Rename some msrs Avi Kivity
2006-12-28 10:15 ` [PATCH 8/8] KVM: Fix oops on oom Avi Kivity
2006-12-28 10:33 ` [PATCH 0/8] KVM updates for 2.6.20-rc2 Ingo Molnar
[not found] ` <20061228103345.GA4708-X9Un+BFzKDI@public.gmane.org>
2006-12-28 11:04 ` Avi Kivity
[not found] ` <4593A4B7.2070404-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 11:23 ` Ingo Molnar
[not found] ` <20061228112356.GA14386-X9Un+BFzKDI@public.gmane.org>
2006-12-28 12:21 ` Avi Kivity
2006-12-28 13:15 ` Ingo Molnar
2006-12-28 11:30 ` Ingo Molnar
[not found] ` <20061228113038.GA16190-X9Un+BFzKDI@public.gmane.org>
2006-12-28 12:32 ` Avi Kivity
[not found] ` <4593B948.5090009-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 13:37 ` Ingo Molnar
[not found] ` <20061228133746.GC3392-X9Un+BFzKDI@public.gmane.org>
2006-12-28 13:49 ` Avi Kivity
[not found] ` <4593CB61.5050709-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 13:50 ` Ingo Molnar
[not found] ` <20061228135020.GA7606-X9Un+BFzKDI@public.gmane.org>
2006-12-28 13:58 ` Avi Kivity
[not found] ` <4593CD74.6060202-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 14:07 ` Ingo Molnar
[not found] ` <20061228140742.GA10033-X9Un+BFzKDI@public.gmane.org>
2006-12-28 14:18 ` Avi Kivity [this message]
[not found] ` <4593D243.1030301-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 15:01 ` Ingo Molnar
[not found] ` <20061228150104.GB16057-X9Un+BFzKDI@public.gmane.org>
2006-12-28 15:09 ` Avi Kivity
[not found] ` <4593DE1D.8010701-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 15:11 ` Ingo Molnar
[not found] ` <20061228151159.GA20279-X9Un+BFzKDI@public.gmane.org>
2006-12-28 15:25 ` Avi Kivity
[not found] ` <4593E1E3.2020800-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-28 15:28 ` Avi Kivity
2006-12-28 12:42 ` [patch] kvm: fix GFP_KERNEL allocation in atomic section in kvm_dev_ioctl_create_vcpu() Ingo Molnar
2006-12-28 12:56 ` Avi Kivity
2006-12-28 12:55 ` Ingo Molnar
[not found] ` <20061228125544.GA31207-X9Un+BFzKDI@public.gmane.org>
2006-12-28 13:08 ` [patch, try#2] " Ingo Molnar
2006-12-28 13:14 ` Avi Kivity
2006-12-28 13:23 ` Ingo Molnar
2006-12-28 13:30 ` Avi Kivity
2006-12-28 10:12 ` [PATCH 5/8] KVM: Move common msr handling to arch independent code Avi Kivity
2006-12-28 10:13 ` [PATCH 6/8] KVM: More msr misery Avi Kivity
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=4593D243.1030301@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=mingo-X9Un+BFzKDI@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox