Ensure no guest events are ever lost in the mem event ring.
This is one of two outstanding proposals to solve this issue. One
key difference between them being that ours does not necessitate wait
queues.
Instead, we rely on foreign domain retry (already in place), preempting
hypercalls that may cause unbounded guest events (such as
decrease_reservation), and ensuring there is always space left in the
ring for each guest vcpu to place at least one event.
The patch has been refreshed to apply on top of 62ff6a318c5d, and untangled
from other mem event modifications that are essentially orthogonal and can
go in independently.
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Adin Scannell <adin@scannell.ca>
xen/common/memory.c | 29 +++++-
xen/arch/x86/hvm/hvm.c | 21 ++-
xen/arch/x86/mm/mem_event.c | 203 +++++++++++++++++++++++++++++----------
xen/arch/x86/mm/mem_sharing.c | 17 ++-
xen/arch/x86/mm/p2m.c | 47 +++++----
xen/common/memory.c | 7 +-
xen/include/asm-x86/mem_event.h | 16 ++-
xen/include/asm-x86/p2m.h | 6 +-
xen/include/xen/mm.h | 2 +
xen/include/xen/sched.h | 5 +-
10 files changed, 257 insertions(+), 96 deletions(-)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
This is one of two outstanding proposals to solve this issue. One
key difference between them being that ours does not necessitate wait
queues.
Instead, we rely on foreign domain retry (already in place), preempting
hypercalls that may cause unbounded guest events (such as
decrease_reservation), and ensuring there is always space left in the
ring for each guest vcpu to place at least one event.
The patch has been refreshed to apply on top of 62ff6a318c5d, and untangled
from other mem event modifications that are essentially orthogonal and can
go in independently.
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Adin Scannell <adin@scannell.ca>
xen/common/memory.c | 29 +++++-
xen/arch/x86/hvm/hvm.c | 21 ++-
xen/arch/x86/mm/mem_event.c | 203 +++++++++++++++++++++++++++++----------
xen/arch/x86/mm/mem_sharing.c | 17 ++-
xen/arch/x86/mm/p2m.c | 47 +++++----
xen/common/memory.c | 7 +-
xen/include/asm-x86/mem_event.h | 16 ++-
xen/include/asm-x86/p2m.h | 6 +-
xen/include/xen/mm.h | 2 +
xen/include/xen/sched.h | 5 +-
10 files changed, 257 insertions(+), 96 deletions(-)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel