[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 07/16] x86/shadow: fetch CPL just once in sh_page_fault()



>>> On 11.07.18 at 15:46, <tim@xxxxxxx> wrote:
> At 07:29 -0600 on 11 Jul (1531294179), Jan Beulich wrote:
>> This isn't as much of an optimization than to avoid triggering a gcc bug
>> affecting 5.x ... 7.x, triggered by any asm() put inside the ad hoc
>> "rewalk" loop and taking as an (output?) operand a register variable
>> tied to %rdx (an "rdx" clobber is fine). The issue is due to an apparent
>> collision in register use with the modulo operation in vtlb_hash(),
>> which (with optimization enabled) involves a multiplication of two
>> 64-bit values with the upper half (in %rdx) of the 128-bit result being
>> of interest.
>> 
>> Such an asm() was originally meant to be implicitly introduced into the
>> code when converting most indirect calls through the hvm_funcs table to
>> direct calls (via alternative instruction patching); that model was
>> switched to clobbers due to further compiler problems, but I think the
>> change here is worthwhile nevertheless.
>> 
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> 
> I don't quite follow what the compiler bug does here -- it would be nice
> to say what effect it has on the final code.  In any case, the code
> change is fine.

There was no final code - it was an Internal Compiler Error.

> Reviewed-by: Tim Deegan <tim@xxxxxxx>

Thanks, Jan



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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.