On 11/8/21 20:57, David Matlack wrote:
I'm not super
interested in adding eager page splitting for the older methods (clear
on KVM_GET_DIRTY_LOG, and manual-clear without initially-all-set), but
it should be useful for the ring buffer method and that *should* share
most of the code with the older methods.
Using Eager Page Splitting with the ring buffer method would require
splitting the entire memslot when dirty logging is enabled for that
memslot right? Are you saying we should do that?
Yeah, that's why I said it should share code with clear-on-get-dirty.
For initially-all-set, where it's possible to do it and even easy-ish, I
would like to avoid paying the cost of splitting entirely upfront, when
enabling dirty page tracking. But you can already post an RFC that just
splits always when dirty page tracking is enabled, so that I have a bit
more of an idea of the new code, and of what it would entail to smear
the cost over the calls to KVM_CLEAR_DIRTY_LOG.
Thanks,
Paolo