From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: "Dong, Eddie" <eddie.dong-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: SMP support of MMU
Date: Wed, 30 May 2007 07:53:45 +0300 [thread overview]
Message-ID: <465D0359.7040908@qumranet.com> (raw)
In-Reply-To: <10EA09EFD8728347A513008B6B0DA77A0184129A-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
Dong, Eddie wrote:
> Avi:
> I noticed the current MMU data structure is defined as per VCPU
> such as:
>
> struct kvm_vcpu {
> .....
> struct list_head free_pages;
> struct kvm_mmu_page page_header_buf[KVM_NUM_MMU_PAGES];
> .....
> }
>
> This is a hot topics in Xen development time: whether should we
> support global shadow PT or per VCPU shadow PT? Per VCPU shadow is much
> close to native from architecture point of view, but definitely much
> complicated in implementation. Do we really need to implement per VCPU
> shadow? Xen today is still global shadow.
> If global shadow is good enough, then I will try to move
> free_pages and page_header_buf[KVM_NUM_MMU_PAGES] to struct kvm.
> Comments?
>
I think a global shadow is actually better. Consider a multithreaded
application where threads are free to migrate (e.g. many more threads
than vcpus); a per-vcpu shadow will cause many more faults than a global
shadow.
I have patch that converts page_header_buf into a slab cache; that
should remove the per-vcpu fields. I just have to debug it before I can
apply it. I'll dig it up.
(the reason they are actually in kvm_vcpu is that we started with a
non-caching mmu implementation, where you can't share pages anyway)
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
next prev parent reply other threads:[~2007-05-30 4:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-29 7:59 guest PTE write emulation Dong, Eddie
[not found] ` <10EA09EFD8728347A513008B6B0DA77A01840ED9-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-29 8:25 ` Avi Kivity
[not found] ` <465BE375.20000-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-29 9:52 ` Dong, Eddie
[not found] ` <10EA09EFD8728347A513008B6B0DA77A01840FBB-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-29 11:38 ` Avi Kivity
[not found] ` <465C10B1.8090903-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-30 2:33 ` SMP support of MMU Dong, Eddie
[not found] ` <10EA09EFD8728347A513008B6B0DA77A0184129A-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-30 4:53 ` Avi Kivity [this message]
[not found] ` <465D0359.7040908-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-30 5:38 ` Dong, Eddie
2007-05-30 11:40 ` guest PTE write emulation Dong, Eddie
[not found] ` <10EA09EFD8728347A513008B6B0DA77A01841631-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-05-30 12:25 ` Avi Kivity
[not found] ` <465D6D56.90307-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-30 12:48 ` Dong, Eddie
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=465D0359.7040908@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=eddie.dong-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@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