[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC 21/22] xen/arm: p2m: Re-implement p2m_set_mem_access using p2m_{set, get}_entry
On 01/08/16 16:59, Tamas K Lengyel wrote: On Mon, Aug 1, 2016 at 9:40 AM, Julien Grall <julien.grall@xxxxxxx> wrote: IMHO we should just pause the domain while mem_access permissions are being changed. On x86 it is not necessary as the mem_access bookkeeping is kept in the ept pte entries but since on ARM the two things are disjoint it is required. Even on x86 though - while it's not strictly necessary - I think it would be a good idea to just pause the domain as from a user perspective it would be more intuitive then keeping the vCPUs running. The problem is not because of the bookkeeping, but how the TLBs work. I never mentioned the radix tree in my previous mail because storing the access in the entry will not help here. The entry may have been updated but the TLBs not yet invalidated. x86 does not seem to be affected because if the mem access check fail, the instruction is replayed (see hvm_hap_nested_page_fault). This is exactly the solution I suggested, which is IHMO the best. I don't think pausing all the vCPUs of a domain is a good solution, the overhead will be too high for modifying only one page (see p2m_mem_access_check for instance). Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |