From: Anthony Liguori <aliguori@us.ibm.com>
To: "Nakajima, Jun" <jun.nakajima@intel.com>
Cc: kvm-devel <kvm-devel@lists.sourceforge.net>,
virtualization@lists.linux-foundation.org
Subject: Re: [kvm-devel] [PATCH 3/3] Eliminate read_cr3 on TLB flush
Date: Wed, 30 May 2007 14:22:00 -0500 [thread overview]
Message-ID: <465DCED8.4080506@us.ibm.com> (raw)
In-Reply-To: <97D612E30E1F88419025B06CB4CF1BE10259AD95@scsmsx412.amr.corp.intel.com>
Nakajima, Jun wrote:
> Zachary Amsden wrote:
>
>> Nakajima, Jun wrote:
>>
>>> And actually you don't need the write to CR3 to flush TLB because
>>>
> the
>
>>> one to CR4 does it. Or does kvm_flush_tlb_kernel assume that CR3 is
>>>
> updated
>
>>> at the same time?
>>>
>>> Jun
>>>
>> It should not be necessary, but I believe this was added as a
>>
> workaround
>
>> to a PII erratum. I can't find the erratum, however, and the history
>>
> of
>
>> using G bits in Linux is complicated (several bugs introduced and many
>> intermediate versions of this code). Since this is not performance
>> critical, I think it is probably best to leave the CR3 reload.
>>
>
> I don't recommend this for old processors.
>
>
>> However, being unnecessary on modern processors, I already submitted a
>> patch to eliminate it on 64-bit (or maybe just told Andi about it, I
>> can't recall).
>>
>> Zach
>>
>
> For KVM, it should be okay as well. But we can replace two CR4 accesses
> with just one hypercall.
>
I was thinking the same thing :-)
I was actually thinking about adding a hypercall to set/clear a bit in a
control register. The thought here is that it would be useful not just
for the global bit but also for CR0.TS although we would need another
paravirt_op hook for stts.
Regards,
Anthony Liguori
> Jun
> ---
> Intel Open Source Technology Center
>
next prev parent reply other threads:[~2007-05-30 19:22 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-30 14:49 [PATCH 0/3] KVM paravirt_ops implementation Anthony Liguori
2007-05-30 14:52 ` [PATCH 1/3] KVM paravirt_ops infrastructure Anthony Liguori
2007-05-30 16:42 ` [kvm-devel] " Nakajima, Jun
[not found] ` <97D612E30E1F88419025B06CB4CF1BE10259AAD7-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-30 18:11 ` Anthony Liguori
[not found] ` <465DBE3A.6030908-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-30 19:04 ` Nakajima, Jun
[not found] ` <97D612E30E1F88419025B06CB4CF1BE10259AD83-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-31 17:31 ` Anthony Liguori
[not found] ` <465F0688.1050702-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-31 18:47 ` Nakajima, Jun
2007-05-31 1:02 ` Rusty Russell
2007-05-31 1:15 ` [kvm-devel] " Anthony Liguori
[not found] ` <1180573347.30202.135.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-05-31 7:48 ` Avi Kivity
2007-05-31 9:58 ` Andi Kleen
[not found] ` <200705311158.28632.ak-l3A5Bk7waGM@public.gmane.org>
2007-05-31 10:11 ` Ingo Molnar
[not found] ` <20070531101116.GA10872-X9Un+BFzKDI@public.gmane.org>
2007-05-31 10:40 ` Andi Kleen
[not found] ` <200705311240.19794.ak-l3A5Bk7waGM@public.gmane.org>
2007-05-31 11:12 ` Rusty Russell
2007-05-31 17:28 ` [kvm-devel] " Anthony Liguori
2007-05-31 17:29 ` Anthony Liguori
2007-05-30 14:53 ` [PATCH 2/3][PARAVIRT] Make IO delay a NOP Anthony Liguori
[not found] ` <465D8F03.7000201-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-30 14:53 ` [PATCH 3/3] Eliminate read_cr3 on TLB flush Anthony Liguori
[not found] ` <465D8FF5.6040804-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-30 15:01 ` Andi Kleen
2007-05-30 15:32 ` Anthony Liguori
2007-05-30 15:38 ` Jeremy Fitzhardinge
[not found] ` <465D9A77.90505-TSDbQ3PG+2Y@public.gmane.org>
2007-05-30 17:11 ` Nakajima, Jun
[not found] ` <97D612E30E1F88419025B06CB4CF1BE10259AB81-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-30 17:58 ` Zachary Amsden
2007-05-30 19:12 ` [kvm-devel] " Nakajima, Jun
[not found] ` <465DBB49.5030503-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-05-30 19:12 ` Nakajima, Jun
2007-05-30 19:22 ` Anthony Liguori [this message]
2007-05-30 20:40 ` [kvm-devel] " Nakajima, Jun
[not found] ` <465DCED8.4080506-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-30 20:40 ` Nakajima, Jun
2007-05-30 22:03 ` [kvm-devel] " Anthony Liguori
[not found] ` <97D612E30E1F88419025B06CB4CF1BE10259AE6D-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-30 22:03 ` Anthony Liguori
2007-05-30 21:49 ` Zachary Amsden
2007-05-31 7:50 ` Avi Kivity
[not found] ` <465E7E4F.8050208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-31 8:27 ` Zachary Amsden
2007-05-31 17:30 ` Anthony Liguori
2007-05-31 17:30 ` [kvm-devel] " Anthony Liguori
2007-05-30 21:49 ` Zachary Amsden
2007-05-31 1:12 ` Rusty Russell
2007-05-31 7:50 ` Avi Kivity
2007-05-30 17:58 ` Zachary Amsden
2007-05-30 17:11 ` Nakajima, Jun
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=465DCED8.4080506@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=jun.nakajima@intel.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=virtualization@lists.linux-foundation.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.