kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Shadow page table questions
@ 2010-03-10  4:57 Marek Olszewski
  2010-03-10  9:47 ` Avi Kivity
  0 siblings, 1 reply; 15+ messages in thread
From: Marek Olszewski @ 2010-03-10  4:57 UTC (permalink / raw)
  To: kvm

Hello,

I was wondering if someone could point me to some documentation that 
explains the basic non-nested-paging shadow page table 
algorithm/strategy used by KVM.  I understand that KVM caches shadow 
page tables across context switches and that there is a reverse mapping 
and page protection to help zap shadow page tables when the guest page 
tables change.  However, I'm not entirely sure how the actual caching is 
done.  At first I assumed that KVM would change the host CR3 on every 
guest context switch such that it would point to a cached shadow page 
table for the currently running guest user thread, however, as far as I 
can tell, the host CR3 does not change so I'm a little lost.  If indeed 
it doesn't change the CR3, how does KVM solve the problem that arises 
when two processes in the guest OS share the same guest logical addresses?

I'm also interested in figuring out what KVM does when running with 
multiple virtual CPUs.  Looking at the code, I can see that each VCPU 
has its own root pointer to a shadow page table graph, but I have yet to 
figure out if this graph has node's shared between VCPUs, or whether 
they are all private.

Any help would be greatly appreciated.  Thanks!

Marek

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2010-05-20  2:24 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-10  4:57 Shadow page table questions Marek Olszewski
2010-03-10  9:47 ` Avi Kivity
2010-03-11  0:06   ` Marek Olszewski
2010-03-11  6:39     ` Avi Kivity
2010-03-11 16:14       ` Marek Olszewski
2010-03-13  8:51         ` Avi Kivity
2010-03-18 23:50           ` KVM Page Fault Question Marek Olszewski
2010-03-19  8:39             ` Avi Kivity
2010-04-02  4:41               ` Marek Olszewski
2010-04-02  6:39                 ` Avi Kivity
     [not found]                   ` <4BB614BC.9080608@csail.mit.edu>
2010-04-04 16:59                     ` Avi Kivity
2010-04-22  5:26                       ` Marek Olszewski
2010-04-22  6:52                         ` Avi Kivity
     [not found]                           ` <4BD0DFBE.1090103@csail.mit.edu>
2010-04-26  5:42                             ` Marek Olszewski
2010-05-20  2:24                           ` Shadow MMU state preserved across kvm_mmu_zap_all? Marek Olszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).