Hi Paolo,
On 5/28/20 8:48 PM, Paolo Bonzini wrote:
On 28/05/20 08:14, Gavin Shan wrote:I think there might be too much overhead if the page can be populated
- for x86 we're also thinking of initiating the page fault from the
exception handler, rather than doing so from the hypervisor before
injecting the exception. If ARM leads the way here, we would do our
best to share code when x86 does the same.
Sorry, Paolo, I don't follow your idea here. Could you please provide
more details?
The idea is to inject stage2 page faults into the guest even before the
host starts populates the page. The guest then invokes a hypercall,
telling the host to populate the page table and inject the 'page ready'
event (interrupt) when it's done.
For x86 the advantage is that the processor can take care of raising the
stage2 page fault in the guest, so it's faster.
quickly by host. For example, it's fast to populate the pages if swapin
isn't involved.
If I'm correct enough, it seems arm64 doesn't have similar mechanism,
routing stage2 page fault to guest.