On 17/12/2019 15:10, Tamas K Lengyel wrote:
> On Tue, Dec 17, 2019 at 8:08 AM Tamas K Lengyel <[email protected]> wrote:
>> On Tue, Dec 17, 2019 at 7:48 AM Andrew Cooper <[email protected]> 
>> 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.
>> Yes, a better explanation would be much needed here and I'm not 100%
>> sure it correctly implements what I think it tries to.
>>
>> This is my interpretation of what the idea is: when using DRAKVUF (or
>> another system using altp2m with shadow pages similar to what I
>> describe in 
>> https://xenproject.org/2016/04/13/stealthy-monitoring-with-xen-altp2m),
>> after a breakpoint is hit the system switches to the default
>> unrestricted altp2m view with singlestep enabled. When the singlestep
>> traps to Xen another vm_event is sent to the monitor agent, which then
>> normally disables singlestepping and switches the altp2m view back to
>> the restricted view. This patch looks like its short-circuiting that
>> last part so that it doesn't need to send the vm_event out for the
>> singlestep event and should switch back to the restricted view in Xen
>> automatically. It's a nice optimization. But what seems to be missing
>> is the altp2m switch itself.
> Never mind, p2m_altp2m_check does the altp2m switch as well, so this
> patch implements what I described above. Please update the patch
> message to be more descriptive (you can copy my description from
> above).

Also please read CODING_STYLE in the root of the xen repository.  The
important ones you need to fix are spaces in "if ( ... )" statements,
and binary operators on the end of the first line rather than the
beginning of the continuation.

~Andrew

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to