On 11/03/2009 04:32 PM, Marcelo Tosatti wrote:
Any attempt to access the swapped out data will cause a #PF vmexit, since the translation is marked as not present. If there's swapin in progress, you wait for that swapin, otherwise start swapin and wait. Its not as efficient as paravirt because you have to wait for a timer interrupt and the guest scheduler to decide to taskswitch, but OTOH its transparent.
With a dyntick guest the timer interrupt will come at the end of the time slice, likely after the page has been swapped in. That leaves smp reschedule interrupts and non-dyntick guests.
An advantage is that there is one code path for apf and non-apf. Another is that interrupts are processed, improving timekeeping and maybe responsiveness.
-- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html