Before, when HVM guest live
migration with EPT, we just write protect all the EPT leaf entries.
Then we know the dirty pages
through ept_handle_violation(), and call p2m_change_type()
to put back the write access of the
EPT entries. At that time when we use large pages,
we used to split the large page to
4K.
It’s not necessary. Alternatively,
we can just retain the large page entries,
and put back the write access and mark
dirty all the small pages in the large page.
The patch attached removes the splitting.
Signed-off-by: Xin, Xiaohui <Xiaohui.xin@xxxxxxxxx>