From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9195AC2BA4C for ; Wed, 26 Jan 2022 15:31:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242862AbiAZPb4 (ORCPT ); Wed, 26 Jan 2022 10:31:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45606 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242858AbiAZPby (ORCPT ); Wed, 26 Jan 2022 10:31:54 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57134C06161C for ; Wed, 26 Jan 2022 07:31:54 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 210BAB81EA8 for ; Wed, 26 Jan 2022 15:31:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89914C340ED; Wed, 26 Jan 2022 15:31:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643211112; bh=+stvVyRnz2H4xbnaEtKWfcp0/IPDCeyODbC6Y5cXcCY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oRPuKNGHCwnZ1VSUSqealiseudJoqlb+/8nsHVWbGZbQrwPtNcAFQGW71I3UwX2Az rzfCmxqS0rEuRtShv+CSZoDJFfAypiBqdMeMnBihZQxF5d9yVBv+2vVt4kCzW6Lrks uJCUF4AcTEZFincKuPi7tfNQYiWF6IxLFljy7H1T6BCSfUSRal2IruPaNVFyncCj/d 66ASS390FFxe72z1rlXYWF6QULikvrmRKNFuM+DEJa6yagO0WKxjulS+YAV5HG0sQA V2FRpxJ23WgIfLTHgdJjAEdp2ZgPdWYhJHlnUzSYduZnqQIIiF9aliQH+8vLcJzbJ6 3PbxG2ZySUkfg== From: Mark Brown To: Catalin Marinas , Will Deacon , Marc Zyngier , Shuah Khan , Shuah Khan Cc: Alan Hayward , Luis Machado , Salil Akerkar , Basant Kumar Dwivedi , Szabolcs Nagy , James Morse , Alexandru Elisei , Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, kvmarm@lists.cs.columbia.edu, Mark Brown Subject: [PATCH v10 23/39] arm64/sme: Disable streaming mode and ZA when flushing CPU state Date: Wed, 26 Jan 2022 15:27:33 +0000 Message-Id: <20220126152749.233712-24-broonie@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220126152749.233712-1-broonie@kernel.org> References: <20220126152749.233712-1-broonie@kernel.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1128; h=from:subject; bh=+stvVyRnz2H4xbnaEtKWfcp0/IPDCeyODbC6Y5cXcCY=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBh8WhnZjkrllyw3wrZv65gkzLMq7K6hvi8wR5NerZM dVGlefyJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYfFoZwAKCRAk1otyXVSH0LFTCA CFRAzSN/vje9nUUCsi+wm2PdjWcOfGt3sY+Ukajpn0zlb9gPmFHavfmNRwhTc/7H8WyXcePT3n39/+ 1yWEo92lRkfsCFtfBj3ge6s8kIMR4ualZ9Zm14cj4oyx7DVrV+dQJVbdM+FFlJqWTMTvqfFmHKBWXe o65DjGa4dSHKR3HP7OytWo0AS4UPdapfbm1miFw6BM7VI0aey+lxela6rEx+ldTtkVl4IyU5PUPrDF nJjOCCiwl0gng9F2k8yXKE+DYOGsoxb/aWSC5uJYqh4he1fw5lqm3NqIkutYy5piivH61cO2INTXWZ v23Iq3O7CgRbHLrjxF5BUSwqInqxYP X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org Both streaming mode and ZA may increase power consumption when they are enabled and streaming mode makes many FPSIMD and SVE instructions undefined which will cause problems for any kernel mode floating point so disable both when we flush the CPU state. This covers both kernel_neon_begin() and idle and after flushing the state a reload is always required anyway. Signed-off-by: Mark Brown --- arch/arm64/kernel/fpsimd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c index 8b111b7f2006..e00d3a9e919c 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -1762,6 +1762,15 @@ static void fpsimd_flush_cpu_state(void) { WARN_ON(!system_supports_fpsimd()); __this_cpu_write(fpsimd_last_state.st, NULL); + + /* + * Leaving streaming mode enabled will cause issues for any kernel + * NEON and leaving streaming mode or ZA enabled may increase power + * consumption. + */ + if (system_supports_sme()) + sme_smstop(); + set_thread_flag(TIF_FOREIGN_FPSTATE); } -- 2.30.2 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07CFFC63684 for ; Wed, 26 Jan 2022 15:31:59 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id B4F0A4A104; Wed, 26 Jan 2022 10:31:58 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Authentication-Results: mm01.cs.columbia.edu (amavisd-new); dkim=softfail (fail, message has been altered) header.i=@kernel.org Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GXrmuqF4nugh; Wed, 26 Jan 2022 10:31:57 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id A8D4149ED4; Wed, 26 Jan 2022 10:31:57 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 9683D49F41 for ; Wed, 26 Jan 2022 10:31:55 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g9A+hXKRsIqn for ; Wed, 26 Jan 2022 10:31:54 -0500 (EST) Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 1A0CF49F2E for ; Wed, 26 Jan 2022 10:31:53 -0500 (EST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7E89A6189F; Wed, 26 Jan 2022 15:31:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89914C340ED; Wed, 26 Jan 2022 15:31:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643211112; bh=+stvVyRnz2H4xbnaEtKWfcp0/IPDCeyODbC6Y5cXcCY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oRPuKNGHCwnZ1VSUSqealiseudJoqlb+/8nsHVWbGZbQrwPtNcAFQGW71I3UwX2Az rzfCmxqS0rEuRtShv+CSZoDJFfAypiBqdMeMnBihZQxF5d9yVBv+2vVt4kCzW6Lrks uJCUF4AcTEZFincKuPi7tfNQYiWF6IxLFljy7H1T6BCSfUSRal2IruPaNVFyncCj/d 66ASS390FFxe72z1rlXYWF6QULikvrmRKNFuM+DEJa6yagO0WKxjulS+YAV5HG0sQA V2FRpxJ23WgIfLTHgdJjAEdp2ZgPdWYhJHlnUzSYduZnqQIIiF9aliQH+8vLcJzbJ6 3PbxG2ZySUkfg== From: Mark Brown To: Catalin Marinas , Will Deacon , Marc Zyngier , Shuah Khan , Shuah Khan Subject: [PATCH v10 23/39] arm64/sme: Disable streaming mode and ZA when flushing CPU state Date: Wed, 26 Jan 2022 15:27:33 +0000 Message-Id: <20220126152749.233712-24-broonie@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220126152749.233712-1-broonie@kernel.org> References: <20220126152749.233712-1-broonie@kernel.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1128; h=from:subject; bh=+stvVyRnz2H4xbnaEtKWfcp0/IPDCeyODbC6Y5cXcCY=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBh8WhnZjkrllyw3wrZv65gkzLMq7K6hvi8wR5NerZM dVGlefyJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYfFoZwAKCRAk1otyXVSH0LFTCA CFRAzSN/vje9nUUCsi+wm2PdjWcOfGt3sY+Ukajpn0zlb9gPmFHavfmNRwhTc/7H8WyXcePT3n39/+ 1yWEo92lRkfsCFtfBj3ge6s8kIMR4ualZ9Zm14cj4oyx7DVrV+dQJVbdM+FFlJqWTMTvqfFmHKBWXe o65DjGa4dSHKR3HP7OytWo0AS4UPdapfbm1miFw6BM7VI0aey+lxela6rEx+ldTtkVl4IyU5PUPrDF nJjOCCiwl0gng9F2k8yXKE+DYOGsoxb/aWSC5uJYqh4he1fw5lqm3NqIkutYy5piivH61cO2INTXWZ v23Iq3O7CgRbHLrjxF5BUSwqInqxYP X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB Cc: Basant Kumar Dwivedi , Luis Machado , Szabolcs Nagy , Mark Brown , linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, Alan Hayward , kvmarm@lists.cs.columbia.edu, Salil Akerkar X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu Both streaming mode and ZA may increase power consumption when they are enabled and streaming mode makes many FPSIMD and SVE instructions undefined which will cause problems for any kernel mode floating point so disable both when we flush the CPU state. This covers both kernel_neon_begin() and idle and after flushing the state a reload is always required anyway. Signed-off-by: Mark Brown --- arch/arm64/kernel/fpsimd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c index 8b111b7f2006..e00d3a9e919c 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -1762,6 +1762,15 @@ static void fpsimd_flush_cpu_state(void) { WARN_ON(!system_supports_fpsimd()); __this_cpu_write(fpsimd_last_state.st, NULL); + + /* + * Leaving streaming mode enabled will cause issues for any kernel + * NEON and leaving streaming mode or ZA enabled may increase power + * consumption. + */ + if (system_supports_sme()) + sme_smstop(); + set_thread_flag(TIF_FOREIGN_FPSTATE); } -- 2.30.2 _______________________________________________ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A8F10C2BA4C for ; Wed, 26 Jan 2022 16:40:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Xk0w7WpVIMfFCTLAydqTjLmJ42olDFooyKlrpDxwgr4=; b=HV6bBaEeOI6Tau NlfJdEGW1F6xJJ9F0+f1avwnISLu7kdsIiltj3BqnJ40B7ODVUgayl0v0IVYBMd6J0BBB7gGe3g9E rBcDP6eXgqcGjMnZTlZb5R7MQnMxiEZGkoj33t07ToagoQUezlGALljdgUUvSOH06MYWHckN4wvlW qwyeCKo+cVgCZ7Qz1k2U9hN4qB52v4Vd9CQKgZ8OvHcD0qEoxoqkBHNVhKjID1SJYEO+yKbmD2M9h dMuGqY75HbUWCVAyUM+PJpIFiZdGb7UH5yDYkvymFRvjXNIoCCYpcpDh5VHArWCj5yurJo/X59YgE PTxRpAgTitxCDxnynqig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nClK0-00ChDs-RM; Wed, 26 Jan 2022 16:39:01 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nCkH3-00CJVU-3Y for linux-arm-kernel@lists.infradead.org; Wed, 26 Jan 2022 15:31:54 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7E89A6189F; Wed, 26 Jan 2022 15:31:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89914C340ED; Wed, 26 Jan 2022 15:31:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643211112; bh=+stvVyRnz2H4xbnaEtKWfcp0/IPDCeyODbC6Y5cXcCY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oRPuKNGHCwnZ1VSUSqealiseudJoqlb+/8nsHVWbGZbQrwPtNcAFQGW71I3UwX2Az rzfCmxqS0rEuRtShv+CSZoDJFfAypiBqdMeMnBihZQxF5d9yVBv+2vVt4kCzW6Lrks uJCUF4AcTEZFincKuPi7tfNQYiWF6IxLFljy7H1T6BCSfUSRal2IruPaNVFyncCj/d 66ASS390FFxe72z1rlXYWF6QULikvrmRKNFuM+DEJa6yagO0WKxjulS+YAV5HG0sQA V2FRpxJ23WgIfLTHgdJjAEdp2ZgPdWYhJHlnUzSYduZnqQIIiF9aliQH+8vLcJzbJ6 3PbxG2ZySUkfg== From: Mark Brown To: Catalin Marinas , Will Deacon , Marc Zyngier , Shuah Khan , Shuah Khan Cc: Alan Hayward , Luis Machado , Salil Akerkar , Basant Kumar Dwivedi , Szabolcs Nagy , James Morse , Alexandru Elisei , Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, kvmarm@lists.cs.columbia.edu, Mark Brown Subject: [PATCH v10 23/39] arm64/sme: Disable streaming mode and ZA when flushing CPU state Date: Wed, 26 Jan 2022 15:27:33 +0000 Message-Id: <20220126152749.233712-24-broonie@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220126152749.233712-1-broonie@kernel.org> References: <20220126152749.233712-1-broonie@kernel.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1128; h=from:subject; bh=+stvVyRnz2H4xbnaEtKWfcp0/IPDCeyODbC6Y5cXcCY=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBh8WhnZjkrllyw3wrZv65gkzLMq7K6hvi8wR5NerZM dVGlefyJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYfFoZwAKCRAk1otyXVSH0LFTCA CFRAzSN/vje9nUUCsi+wm2PdjWcOfGt3sY+Ukajpn0zlb9gPmFHavfmNRwhTc/7H8WyXcePT3n39/+ 1yWEo92lRkfsCFtfBj3ge6s8kIMR4ualZ9Zm14cj4oyx7DVrV+dQJVbdM+FFlJqWTMTvqfFmHKBWXe o65DjGa4dSHKR3HP7OytWo0AS4UPdapfbm1miFw6BM7VI0aey+lxela6rEx+ldTtkVl4IyU5PUPrDF nJjOCCiwl0gng9F2k8yXKE+DYOGsoxb/aWSC5uJYqh4he1fw5lqm3NqIkutYy5piivH61cO2INTXWZ v23Iq3O7CgRbHLrjxF5BUSwqInqxYP X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220126_073153_231398_42851B37 X-CRM114-Status: GOOD ( 12.37 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Both streaming mode and ZA may increase power consumption when they are enabled and streaming mode makes many FPSIMD and SVE instructions undefined which will cause problems for any kernel mode floating point so disable both when we flush the CPU state. This covers both kernel_neon_begin() and idle and after flushing the state a reload is always required anyway. Signed-off-by: Mark Brown --- arch/arm64/kernel/fpsimd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c index 8b111b7f2006..e00d3a9e919c 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -1762,6 +1762,15 @@ static void fpsimd_flush_cpu_state(void) { WARN_ON(!system_supports_fpsimd()); __this_cpu_write(fpsimd_last_state.st, NULL); + + /* + * Leaving streaming mode enabled will cause issues for any kernel + * NEON and leaving streaming mode or ZA enabled may increase power + * consumption. + */ + if (system_supports_sme()) + sme_smstop(); + set_thread_flag(TIF_FOREIGN_FPSTATE); } -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel