On 17.12.2019 17:48, Andrew Cooper wrote:
On 17/12/2019 14:40, Sergey Kovalev wrote:
On break point event eight context switches occures.
With fast single step it is possible to shorten path for two context
switches
and gain 35% spead-up.
Was tested on Debian branch of Xen 4.12. See at:
https://github.com/skvl/xen/tree/debian/knorrie/4.12/fast-singlestep
Rebased on master:
https://github.com/skvl/xen/tree/fast-singlestep
Signed-off-by: Sergey Kovalev <[email protected]>
35% looks like a good number, but what is "fast single step"? All this
appears to be is plumbing for to cause an altp2m switch on single step.
~Andrew
You are right. I should quoted "fast single step".
Original INT#3 path is like this (in PlangUML):
@startuml
VM->Xen : EXIT_REASON_EXCEPTION_NMI
Xen->LibVMI: request(VM_EVENT_REASON_SOFTWARE_BREAKPOINT)
LibVMI->Xen: response(singlestep | altp2m)
Xen->VM:
VM->Xen: EXIT_REASON_MONITOR_TRAP_FLAG
Xen->LibVMI: request(VM_EVENT_REASON_SINGLESTEP)
LibVMI->Xen: response(altp2m)
Xen->VM:
@enduml
With fast single step it looks like this:
@startuml
VM->Xen : EXIT_REASON_EXCEPTION_NMI
Xen->LibVMI: request(VM_EVENT_REASON_SOFTWARE_BREAKPOINT)
LibVMI->Xen: response(fast singlestep | altp2m)
Xen->VM:
VM->Xen: EXIT_REASON_MONITOR_TRAP_FLAG
Xen->Xen: fast singlestep
Xen->VM:
@enduml
So we just store altp2m index and switch to it on MTF.
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel