lkml.org 
[lkml]   [2017]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v8 5/5] x86/xsave: Remove the explicit clearing of XSAVE dependend features
    Date
    From: Andi Kleen <ak@linux.intel.com>

    Clearing a CPU feature with setup_clear_cpu_cap() clears all features
    which depend on it. Expressing feature dependencies in one place is
    easier to maintain than keeping functions like
    fpu__xstate_clear_all_cpu_caps() up to date.

    The features which depend on XSAVE have their dependency expressed in the
    dependency table, so its sufficient to clear X86_FEATURE_XSAVE.

    Remove the explicit clearing of XSAVE dependend features.

    v2: Use Thomas Gleixner's new description
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    ---
    arch/x86/kernel/fpu/xstate.c | 20 --------------------
    1 file changed, 20 deletions(-)

    diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
    index 924bd895b5ee..bfe8c0c1033d 100644
    --- a/arch/x86/kernel/fpu/xstate.c
    +++ b/arch/x86/kernel/fpu/xstate.c
    @@ -73,26 +73,6 @@ unsigned int fpu_user_xstate_size;
    void fpu__xstate_clear_all_cpu_caps(void)
    {
    setup_clear_cpu_cap(X86_FEATURE_XSAVE);
    - setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT);
    - setup_clear_cpu_cap(X86_FEATURE_XSAVEC);
    - setup_clear_cpu_cap(X86_FEATURE_XSAVES);
    - setup_clear_cpu_cap(X86_FEATURE_AVX);
    - setup_clear_cpu_cap(X86_FEATURE_AVX2);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512F);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512IFMA);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512PF);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512ER);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512CD);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512DQ);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512BW);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512VL);
    - setup_clear_cpu_cap(X86_FEATURE_MPX);
    - setup_clear_cpu_cap(X86_FEATURE_XGETBV1);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512VBMI);
    - setup_clear_cpu_cap(X86_FEATURE_PKU);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512_4VNNIW);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512_4FMAPS);
    - setup_clear_cpu_cap(X86_FEATURE_AVX512_VPOPCNTDQ);
    }

    /*
    --
    2.13.6
    \
     
     \ /
      Last update: 2017-10-05 23:54    [W:4.034 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site