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 C13CEC433F5 for ; Tue, 19 Apr 2022 12:09:37 +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=jvpD8V4ohxHjU78De+LggSweh33PA6RhsF3KLLpRb9s=; b=MWoJlT/iew8aUf ous9TJlcyv9pqi7NOvO+wVCeN4Fgw5VP+tshMPWkROOtKrkY/9DnII3Orh2UgC84nq2cVEleHmPr8 eQk3g+hls7OAnl35/CbT5i0gjL8fP2A+bSmOBhm4WthFGxegTSldH9H38X+3tEtvqtKZ9jx77e0gd ta/S+38aShTO9f/2mLy2xQXvOt15WIXwCUYDfM/gMFHmUJEeDh+iosD6/JsdHPALETEuhMQlUT/OM Y/aX54hglTsCZVWb4J3oGL97uiO6Xqnz1IWBchAqHU3WvsJYCWz2VdynFmdtFfYRPjEjFmPsrNy/l CR2++Nwdpzr3zQE+Md5g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ngmef-003Lzv-Em; Tue, 19 Apr 2022 12:08:26 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nglye-0036Lk-ML for linux-arm-kernel@lists.infradead.org; Tue, 19 Apr 2022 11:25:02 +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 ams.source.kernel.org (Postfix) with ESMTPS id 522E5B81100; Tue, 19 Apr 2022 11:24:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59E9FC385A5; Tue, 19 Apr 2022 11:24:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1650367497; bh=hKEqxVq3qIYNyJ3Q5Mx9hTOo2XjAx/mVC4NFmLZ1diw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OtdXNzNGNqIEpXHSfEQAcoqLQA0OwnOcKDqUUOsEK30/CwM/vmZM55bFDdRdVgate FIqnXzaLYHO6Uh/guVYztKPCO4PoqTKx2JhLdMpBbS6Z1tLMM0hbc3QuItEsnaseMe idZi3Dogm7SVDh0YiZO3vJoAm/SXLVXOmusumws0EHuPEYhE4R4sMl4b/iGu8eAo5P MJs8hrCwE4uSP4+NNdguB3ju4hmOmvFdK+gTlOqPq//zvOFbIFS0wxW/GmN+CXD7Vz shVizrxaqmq6xGDR0qxFzz78MiqeGSTYCUEE+jaE6SaR0mBG7h5gF5iCU4zwMAeIfA ultWbR4Ehl4tg== 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 , Luca Salabrino , linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, kvmarm@lists.cs.columbia.edu, Mark Brown Subject: [PATCH v14 22/39] arm64/sme: Disable streaming mode and ZA when flushing CPU state Date: Tue, 19 Apr 2022 12:22:30 +0100 Message-Id: <20220419112247.711548-23-broonie@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220419112247.711548-1-broonie@kernel.org> References: <20220419112247.711548-1-broonie@kernel.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1184; h=from:subject; bh=hKEqxVq3qIYNyJ3Q5Mx9hTOo2XjAx/mVC4NFmLZ1diw=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBiXpt5bayPRAObOqjq+ZBzKh1FKgvLLGsBQ3TgiJDo PC1NiqOJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYl6beQAKCRAk1otyXVSH0HsjB/ 99t6AWS0KoiDaWwA1DqLBTFqSSLoaO0NK6a/uwv+HSzr8GMop4VZ4Jx+wxMhIFhR3ZQTNnGhdadvR+ 33Ozd+ypw9AO57hbRuNZX1/Vt9Au6jm3irZzve/q5nrjy86I4wnyl114GsOwjTUaB+g2Zn2tSPoDLo 2YuS73oV0vFDm3aTswWCgxcF+SA10fDBiIotXrR8ADPZA2DotX58GxC19jFaNdhHC7qLzbNw+biCAu RiUjOMub4MO3jeWg+ooKKn6TWhVv8tg5k7G5GlwDpO1sVhoErSG6LXOq7ZR/90i/ZVPSZCewptyPfy Xl3RcId+7mqhbe5HN2xu31t7cvmNnF 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-20220419_042500_923830_2E743F68 X-CRM114-Status: GOOD ( 12.83 ) 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 Reviewed-by: Catalin Marinas --- 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 94f06e9d37cf..9592cdd7d635 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -1759,6 +1759,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