Messages in this thread | | | Date | Wed, 24 Oct 2018 12:21:37 -0700 | From | Andi Kleen <> | Subject | Re: [v3 03/12] x86/fsgsbase/64: Add intrinsics/macros for FSGSBASE instructions |
| |
On Wed, Oct 24, 2018 at 11:53:54AM -0700, Andy Lutomirski wrote: > On Tue, Oct 23, 2018 at 11:43 AM Chang S. Bae <chang.seok.bae@intel.com> wrote: > > > > From: Andi Kleen <ak@linux.intel.com> > > > > Add C intrinsics and assembler macros for the new FSBASE and GSBASE > > instructions. > > > > Very straight forward. Used in followon patches. > > > > [ luto: Rename the variables from FS and GS to FSBASE and GSBASE and > > make <asm/fsgsbase.h> safe to include on 32-bit kernels. ] > > > > v2: Use __always_inline > > > > [ chang: Revise the changelog. Place them in <asm/fsgsbase.h>. Replace > > the macros with GAS-compatible ones. ] > > > > If GCC supports it, we can add -mfsgsbase to CFLAGS and use the builtins > > here for extra performance. > > Reviewed-by: Andy Lutomirski <luto@kernel.org> # C parts only > > With the caveat that I'm not convinced that the memory clobbers are > needed. The __force_order trick in special_insns.h would probably be > more appropriate. > > I don't feel qualified to review the asm part without some research. > Whereas hpa or Boris could probably review it with their eyes closed.
BTW the other option would be to update the min-binutils requirement to 2.21 (currently it is 2.20) and then write it directly without .byte. I believe 2.21 added support for these instructions.
(It's only a binutils requirement, don't need gcc support)
-Andi
| |