On 30.09.2024 17:27, Andrew Cooper wrote:
> On 30/09/2024 4:09 pm, Jan Beulich wrote:
>> There's no point using alternative_io() when there are no outputs.
>>
>> No functional change.
>>
>> Signed-off-by: Jan Beulich <[email protected]>
>>
>> --- a/xen/arch/x86/flushtlb.c
>> +++ b/xen/arch/x86/flushtlb.c
>> @@ -286,11 +286,10 @@ void cache_flush(const void *addr, unsig
>>           * + prefix than a clflush + nop, and hence the prefix is added 
>> instead
>>           * of letting the alternative framework fill the gap by appending 
>> nops.
>>           */
>> -        alternative_io("ds; clflush %[p]",
>> -                       "data16 clflush %[p]", /* clflushopt */
>> -                       X86_FEATURE_CLFLUSHOPT,
>> -                       /* no outputs */,
>> -                       [p] "m" (*(const char *)(addr)));
>> +        alternative_input("ds; clflush %[p]",
> 
> Drop the ; as you're altering the line anyway?

Oh, sure.

> Acked-by: Andrew Cooper <[email protected]>

Thanks.

> However, switching to ds ds will avoid a trailing nop, so will be
> marginally better.

I don't think I understand, which may or may not be due to me not being
sure whether "ds ds" is a typo. What trailing NOP are you seeing? The
"ds" that's there already covers for the sole trailing NOP that would
otherwise result due to the "data16" prefix.

Jan

Reply via email to