On Wed, Dec 01, 2021 at 02:14:27PM -0800, David Matlack wrote: > > > > Thanks for calling this out. Could the same be said about the existing > > > > code that unconditionally tries to write-protect 2M+ pages? > > > > They're different because wr-protect can be restored (to be not-wr-protected) > > when vcpu threads write to the pages, so they need to be always done. > > That's true for 4K pages, but not for write-protecting 2M+ pages > (which is what we're discussing here). Once KVM write-protects a 2M+ > page, it should never need to write-protect it again, but we always > try to here. Same goes with splitting. Ah I see, that's fair point. :) Yeah let's see how it goes with the numbers, I'd hope it's trivial to do both wr-protect 2m and the split unconditionally, because for CLEAR_LOG the major overhead should be walking the small pages instead, afaiu. -- Peter Xu