On 09/04/18 10:28, Jan Beulich wrote:
>>>> On 04.04.18 at 08:07, <jgr...@suse.com> wrote:
>> On 03/04/18 19:48, Juergen Gross wrote:
>>> On 19/03/18 14:37, Jan Beulich wrote:
>>>> Introduce a synthetic feature flag to use alternative instruction
>>>> patching to NOP out all code on entry/exit paths. Having NOPs here is
>>>> generally better than using conditional branches.
>>>>
>>>> Also change the limit on the number of bytes we can patch in one go to
>>>> that resulting from the encoding in struct alt_instr - there's no point
>>>> reducing it below that limit, and without a check being in place that
>>>> the limit isn't actually exceeded, such an artificial boundary is a
>>>> latent risk.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeul...@suse.com>
>>>
>>> Just did a parallel make of the hypervisor with and without the patch,
>>> with xpti=true and with xpti=false (values in braces are stddev).
>>
>> The unpatched version was configured differently than the patched one.
>> So the real numbers are:
>>
>>                        elapsed         system          user
>> unpatched, xpti=false:  89.96 ( 8.07)   97.05 ( 5.69)  178.64 ( 2.39)
>> unpatched, xpti=true : 113.42 ( 9.80)  165.99 (15.10)  180.99 ( 2.66)
>> patched,   xpti=false:  90.65 ( 6.63)   99.50 (14.79)  180.35 ( 5.97)
>> patched,   xpti=true : 111.69 ( 9.93)  163.63 (13.05)  181.22 ( 3.71)
>>
>> So the XPTI case is a little bit faster with the patch, while the
>> non-XPTI case is a little bit slower.
> 
> That's rather counterintuitive a result.

OTOH the standard deviation is not really small, so it might be the
performance difference is just below noise level.


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to