Jacob Gorm Hansen
2004-Feb-05 17:15 UTC
[Xen-devel] HYPERVISOR_update_va_mapping in mm/memory.c
hi, I am trying to guess the purpose of the calls to HYPERVISOR_update_va_mapping in mm/memory.c, or rather why this code (which apparently handles user space demand paging) uses a special hypercall rather than the usual pte-update calls. Could anyone briefly explain to me what this hypercall does, and why it needs to be special? thanks, Jacob ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Jacob Gorm Hansen
2004-Feb-05 17:16 UTC
[Xen-devel] HYPERVISOR_update_va_mapping in mm/memory.c
hi, I am trying to guess the purpose of the calls to HYPERVISOR_update_va_mapping in mm/memory.c, or rather why this code (which apparently handles user space demand paging) uses a special hypercall rather than the usual pte-update calls. Could anyone briefly explain to me what this hypercall does, and why it needs to be special? thanks, Jacob ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Keir Fraser
2004-Feb-05 17:43 UTC
Re: [Xen-devel] HYPERVISOR_update_va_mapping in mm/memory.c
> hi, > > I am trying to guess the purpose of the calls to > HYPERVISOR_update_va_mapping in mm/memory.c, or rather why this code > (which apparently handles user space demand paging) uses a special > hypercall rather than the usual pte-update calls. > > Could anyone briefly explain to me what this hypercall does, and why it > needs to be special? > > thanks, > JacobIt''s faster to execute than doing the same thing via the usual update hypercall, because: 1. The code executes one special case so it is shorter and straight-line. 2. Xen modifies the specified PTE directly using the guest-provided mapping of that PTE. This is faster than creating a temporary mapping of that page in Xen''s address space. Short answer: it''s just a performance optimisation. -- Keir ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel