public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
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/

  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