On Mon, Mar 03, 2008 at 11:31:15PM -0800, Christoph Lameter wrote: > @@ -446,6 +450,8 @@ static int page_mkclean_one(struct page > if (address == -EFAULT) > goto out; > > + /* rmap lock held */ > + emm_notify(mm, emm_invalidate_start, address, address + PAGE_SIZE); > pte = page_check_address(page, mm, address, &ptl); > if (!pte) > goto out; > @@ -462,6 +468,7 @@ static int page_mkclean_one(struct page > } > > pte_unmap_unlock(pte, ptl); > + emm_notify(mm, emm_invalidate_end, address, address + PAGE_SIZE); > out: > return ret; > }
I could have ripped invalidate_page from my patch too, except I didn't want to slow down those paths for the known-common-users when not even GRU would get any benefit from two hooks when only one is needed. When working with single pages it's more efficient and preferable to call invalidate_page and only later release the VM reference on the page. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel