lkml.org 
[lkml]   [2015]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v1 11/12] x86, alternative: Use alternative_2 in rdtsc_barrier
    Date
    From: Borislav Petkov <bp@suse.de>

    ... now that we have it.

    Cc: Richard Weinberger <richard@nod.at>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    ---
    arch/x86/include/asm/barrier.h | 6 ++----
    arch/x86/um/asm/barrier.h | 4 ++--
    2 files changed, 4 insertions(+), 6 deletions(-)

    diff --git a/arch/x86/include/asm/barrier.h b/arch/x86/include/asm/barrier.h
    index 2ab1eb33106e..959e45b81fe2 100644
    --- a/arch/x86/include/asm/barrier.h
    +++ b/arch/x86/include/asm/barrier.h
    @@ -95,13 +95,11 @@ do { \
    * Stop RDTSC speculation. This is needed when you need to use RDTSC
    * (or get_cycles or vread that possibly accesses the TSC) in a defined
    * code region.
    - *
    - * (Could use an alternative three way for this if there was one.)
    */
    static __always_inline void rdtsc_barrier(void)
    {
    - alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC);
    - alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);
    + alternative_2("", "mfence", X86_FEATURE_MFENCE_RDTSC,
    + "lfence", X86_FEATURE_LFENCE_RDTSC);
    }

    #endif /* _ASM_X86_BARRIER_H */
    diff --git a/arch/x86/um/asm/barrier.h b/arch/x86/um/asm/barrier.h
    index 2d7d9a1f5b53..8ffd2146fa6a 100644
    --- a/arch/x86/um/asm/barrier.h
    +++ b/arch/x86/um/asm/barrier.h
    @@ -64,8 +64,8 @@
    */
    static inline void rdtsc_barrier(void)
    {
    - alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC);
    - alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);
    + alternative_2("", "mfence", X86_FEATURE_MFENCE_RDTSC,
    + "lfence", X86_FEATURE_LFENCE_RDTSC);
    }

    #endif
    --
    2.2.0.33.gc18b867


    \
     
     \ /
      Last update: 2015-02-03 19:41    [W:2.093 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site