Thread (15 messages) 15 messages, 4 authors, 2010-07-02

Re: [PATCH 0/2] Faster MMU lookups for Book3s v3

From: Alexander Graf <hidden>
Date: 2010-07-01 10:00:48
Also in: kvm

Avi Kivity wrote:
On 07/01/2010 11:18 AM, Alexander Graf wrote:
quoted
How does dirty bitmap flushing work on x86 atm? I loop through all
mapped pages and flush the ones that match the range of the region I
need to flush. But wouldn't it be a lot more efficient to have an
hlist in the memslot and loop through that when I need to flush that
memslot?
   
x86 loops through the reverse-map link list rooted at the memory
slot.  The linked list links all sptes for a single hva.

So, it's like you describe, except it's an array of lists instead of a
single list.  We need per-page rmap lists to be able to remove a
page's sptes in response to an mmu notifier callback, and to be able
to write protect a guest page if it's used as a page table.
But doesn't that mean that you still need to loop through all the hvas
that you want to invalidate? Wouldn't it speed up dirty bitmap flushing
a lot if we'd just have a simple linked list of all sPTEs belonging to
that memslot?

Alex
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help