From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755476AbcAWBMu (ORCPT ); Fri, 22 Jan 2016 20:12:50 -0500 Received: from mga04.intel.com ([192.55.52.120]:7286 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753117AbcAWBMr (ORCPT ); Fri, 22 Jan 2016 20:12:47 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,334,1449561600"; d="scan'208";a="639855136" From: Yu-cheng Yu To: Cc: Yu-cheng Yu , x86@kernel.org, "H. Peter Anvin" , Thomas Gleixner , Dave Hansen , Ingo Molnar , Borislav Petkov , Sai Praneeth Prakhya , "Ravi V. Shankar" , Leonid Shatz , Fenghua Yu Subject: [PATCH] x86/fpu: Revert earlier patch of Disable AVX when eagerfpu is off Date: Fri, 22 Jan 2016 17:10:38 -0800 Message-Id: <1453511438-25827-1-git-send-email-yu-cheng.yu@intel.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org AVX was mistakenly believed to be dependent on eagerfpu switch. This turns out to be false. The earlier patch should be reverted. Original patch: http://git.kernel.org/tip/394db20ca240741a08d472173db13d6f6a6e5a28 Signed-off-by: Yu-cheng Yu Reported_by: Leonid Shatz Cc: x86@kernel.org Cc: H. Peter Anvin Cc: Thomas Gleixner Cc: Dave Hansen Cc: Ingo Molnar Cc: Borislav Petkov Cc: Sai Praneeth Prakhya Cc: Ravi V. Shankar Cc: Leonid Shatz Cc: Fenghua Yu --- arch/x86/include/asm/fpu/xstate.h | 9 ++++----- arch/x86/kernel/fpu/init.c | 6 ------ 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/arch/x86/include/asm/fpu/xstate.h b/arch/x86/include/asm/fpu/xstate.h index af30fde..f23cd8c 100644 --- a/arch/x86/include/asm/fpu/xstate.h +++ b/arch/x86/include/asm/fpu/xstate.h @@ -20,16 +20,15 @@ /* Supported features which support lazy state saving */ #define XFEATURE_MASK_LAZY (XFEATURE_MASK_FP | \ - XFEATURE_MASK_SSE) - -/* Supported features which require eager state saving */ -#define XFEATURE_MASK_EAGER (XFEATURE_MASK_BNDREGS | \ - XFEATURE_MASK_BNDCSR | \ + XFEATURE_MASK_SSE | \ XFEATURE_MASK_YMM | \ XFEATURE_MASK_OPMASK | \ XFEATURE_MASK_ZMM_Hi256 | \ XFEATURE_MASK_Hi16_ZMM) +/* Supported features which require eager state saving */ +#define XFEATURE_MASK_EAGER (XFEATURE_MASK_BNDREGS | XFEATURE_MASK_BNDCSR) + /* All currently supported features */ #define XCNTXT_MASK (XFEATURE_MASK_LAZY | XFEATURE_MASK_EAGER) diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c index 6d9f0a7..f0ab368 100644 --- a/arch/x86/kernel/fpu/init.c +++ b/arch/x86/kernel/fpu/init.c @@ -300,12 +300,6 @@ u64 __init fpu__get_supported_xfeatures_mask(void) static void __init fpu__clear_eager_fpu_features(void) { setup_clear_cpu_cap(X86_FEATURE_MPX); - 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_AVX512PF); - setup_clear_cpu_cap(X86_FEATURE_AVX512ER); - setup_clear_cpu_cap(X86_FEATURE_AVX512CD); } /* -- 1.9.1