[PATCH 0/5] i386: Optimize for Jump Conditional Code Erratum

Florian Weimer fweimer@redhat.com
Thu Nov 14 11:59:00 GMT 2019


* H. J. Lu:

> Microcode update for Jump Conditional Code Erratum may cause performance
> loss for some workloads:
>
> https://www.intel.com/content/www/us/en/support/articles/000055650.html
>
> Here is the set of assembler patches to mitigate performance impact by
> aligning branches within 32-byte boundary.  The impacted instructions
> are:
>
>   a. Conditional jump.
>   b. Fused conditional jump.
>   c. Unconditional jump.
>   d. Call.
>   e. Ret.
>   f. Indirect jump and call.
>
> The new -mbranches-within-32B-boundaries command-line option aligns
> conditional jump, fused conditional jump and unconditional jump within
> 32-byte boundary.

Should this mitigation be enabled by default?

According to the whitepaper, this mitigation has some overhead on
non-affected CPUs (some Intel Atom-type CPUs are mentioned).  Is there a
way to avoid this overhead, so that the decision to enable this by
default is easier?

Thanks,
Florian



More information about the Binutils mailing list