On 2020-05-29 00:02, Gavin Shan wrote:
Hi Paolo,On 5/28/20 8:48 PM, Paolo Bonzini wrote:On 28/05/20 08:14, Gavin Shan wrote:- 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 thehost 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 thestage2 page fault in the guest, so it's faster.I think there might be too much overhead if the page can be populated 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.
Indeed, this isn't a thing on arm64. Exception caused by a S2 fault are
always routed to EL2.
M.
--
Jazz is not dead. It just smells funny...

