On Sat, 2013-08-03 at 14:25 +1000, Benjamin Herrenschmidt wrote: > On Sat, 2013-08-03 at 03:11 +0000, Bhushan Bharat-R65777 wrote: > > > > > > > > Could you explain why we need to set dirty/referenced on the PTE, when we didn't > > > need to do that before? All we're getting from the PTE is wimg. > > > We have MMU notifiers to take care of the page being unmapped, and we've already > > > marked the page itself as dirty if the TLB entry is writeable. > > > > I pulled this code from book3s. > > > > Ben, can you describe why we need this on book3s ? > > If you let the guest write to the page you must set the dirty bit on the PTE > (or the struct page, at least one of them), similar with accessed on any access. > > If you don't, the VM might swap the page out without writing it back to disk > for example, assuming it contains no modified data. We've already marked the page itself as dirty using kvm_set_pfn_dirty(), and if the VM swaps it out we'll get an MMU notifier callback. If we marked the PTE dirty/accessed instead, is there any guarantee it will stay marked dirty/accessed until the next MMU notifier? -Scott -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html