On 29/05/20 11:41, Marc Zyngier wrote:
I think there might be too much overhead if the page can be populated
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.
Those would still be handled by the host. Only those that are not
present in the host (which you can see through the MMU notifier) would
be routed to the guest. You can do things differently between "not
present fault because the page table does not exist" and "not present
fault because the page is missing in the host".
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.
Is there an ARM-approved way to reuse the S2 fault syndromes to detect
async page faults?
(By the way, another "modern" use for async page faults is for postcopy
live migration).