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 EF231C433F5 for ; Fri, 8 Apr 2022 11:56:49 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id A3B4C4B1BF; Fri, 8 Apr 2022 07:56:49 -0400 (EDT) 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 SiVOopHoobkE; Fri, 8 Apr 2022 07:56:48 -0400 (EDT) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id A4E4B4B14C; Fri, 8 Apr 2022 07:56:48 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 83C004B1BF for ; Fri, 8 Apr 2022 07:56:47 -0400 (EDT) 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 FswMZ90Ptzfh for ; Fri, 8 Apr 2022 07:56:46 -0400 (EDT) Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id B48EF4B26A for ; Fri, 8 Apr 2022 07:56:44 -0400 (EDT) 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 174BF62067; Fri, 8 Apr 2022 11:56:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2E5EC385A9; Fri, 8 Apr 2022 11:56:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1649419003; bh=hKEqxVq3qIYNyJ3Q5Mx9hTOo2XjAx/mVC4NFmLZ1diw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SbZMRzpf8Te2GqAxWyjJ4p9AyUdTgvMBvxTqlCOch7C0mESZk9C8Tvll/cD/OwLJV a58obC4M0dWEBil8SprmomlsVt7GES2hrc6XSAT9x0T37rLsNDfrPXLjbg+vH243Ib NRE01/gbZbSh/IbPcb54QZXzs8fTEYCfsr3G+5F3nZaPWsHiJl/BgaAXiJG5T5jZ9y 4L4goHxFWF9VY6hTi/Etb2Pmpm9z6OauKlQ88WQ3IwKuktGT7b2aG2L1eyDJXzfaRr sAucKpTbF/5LBS+EiWc8tJxfMhX2XWBo5dafsskHXwM6eIDwWXfcesGorMi8Qz+PNO jPl06ZR899S9g== From: Mark Brown To: Catalin Marinas , Will Deacon , Marc Zyngier , Shuah Khan , Shuah Khan Subject: [PATCH v13 22/39] arm64/sme: Disable streaming mode and ZA when flushing CPU state Date: Fri, 8 Apr 2022 12:43:11 +0100 Message-Id: <20220408114328.1401034-23-broonie@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220408114328.1401034-1-broonie@kernel.org> References: <20220408114328.1401034-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/pANAwAKASTWi3JdVIfQAcsmYgBiUB/QbayPRAObOqjq+ZBzKh1FKgvLLGsBQ3TgiJDo PC1NiqOJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYlAf0AAKCRAk1otyXVSH0PZUB/ 9sow+wd3rU879zNb/GBVbvo9TsEmWORj7qVQs8QWG+WXCgghi0kb4VQRsffML91gmX/X9CUH05T7rb 6qfXtjDJske9cv6IOh5vnb5P4stAJNeq937A5L0+edmNQteMyTsPAMqFyLGsY91YcUqvDEfNk/fOw1 DmS9GUCRz9Zia3EsEhzVq+b9OKDtyDL8PU0fOl9BEeGEvbCH13XdSWwGIo55o7E9Ur5EyCLN/p7Jj9 welMKPF7nFWiYHpepkDvWdI0Xq1ZI75cn2i1L/GKnSUVnca0G0Sn3M9417FEYT7uXSUPMm64pTDv88 FJCe8oAsJgqNDoKK3kg27OSFkcgVRC 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 , Luca Salabrino 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 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 _______________________________________________ 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4FACC433EF for ; Fri, 8 Apr 2022 11:56:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235320AbiDHL6t (ORCPT ); Fri, 8 Apr 2022 07:58:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42520 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235318AbiDHL6s (ORCPT ); Fri, 8 Apr 2022 07:58:48 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9963A7E0AD for ; Fri, 8 Apr 2022 04:56:44 -0700 (PDT) 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 1B7296206A for ; Fri, 8 Apr 2022 11:56:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2E5EC385A9; Fri, 8 Apr 2022 11:56:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1649419003; bh=hKEqxVq3qIYNyJ3Q5Mx9hTOo2XjAx/mVC4NFmLZ1diw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SbZMRzpf8Te2GqAxWyjJ4p9AyUdTgvMBvxTqlCOch7C0mESZk9C8Tvll/cD/OwLJV a58obC4M0dWEBil8SprmomlsVt7GES2hrc6XSAT9x0T37rLsNDfrPXLjbg+vH243Ib NRE01/gbZbSh/IbPcb54QZXzs8fTEYCfsr3G+5F3nZaPWsHiJl/BgaAXiJG5T5jZ9y 4L4goHxFWF9VY6hTi/Etb2Pmpm9z6OauKlQ88WQ3IwKuktGT7b2aG2L1eyDJXzfaRr sAucKpTbF/5LBS+EiWc8tJxfMhX2XWBo5dafsskHXwM6eIDwWXfcesGorMi8Qz+PNO jPl06ZR899S9g== 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 v13 22/39] arm64/sme: Disable streaming mode and ZA when flushing CPU state Date: Fri, 8 Apr 2022 12:43:11 +0100 Message-Id: <20220408114328.1401034-23-broonie@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220408114328.1401034-1-broonie@kernel.org> References: <20220408114328.1401034-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/pANAwAKASTWi3JdVIfQAcsmYgBiUB/QbayPRAObOqjq+ZBzKh1FKgvLLGsBQ3TgiJDo PC1NiqOJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYlAf0AAKCRAk1otyXVSH0PZUB/ 9sow+wd3rU879zNb/GBVbvo9TsEmWORj7qVQs8QWG+WXCgghi0kb4VQRsffML91gmX/X9CUH05T7rb 6qfXtjDJske9cv6IOh5vnb5P4stAJNeq937A5L0+edmNQteMyTsPAMqFyLGsY91YcUqvDEfNk/fOw1 DmS9GUCRz9Zia3EsEhzVq+b9OKDtyDL8PU0fOl9BEeGEvbCH13XdSWwGIo55o7E9Ur5EyCLN/p7Jj9 welMKPF7nFWiYHpepkDvWdI0Xq1ZI75cn2i1L/GKnSUVnca0G0Sn3M9417FEYT7uXSUPMm64pTDv88 FJCe8oAsJgqNDoKK3kg27OSFkcgVRC 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 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 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 D24EDC433EF for ; Fri, 8 Apr 2022 12:16:32 +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=4EjbEH9CEiowsT wJ/NoH1AKH6/VIm9w7gcETXUTWHMRGWWUllYeTZyscP/jppt7KPvdrRZy2WMovJGq2ONwujLsZi3o rhfP5ycjZaQEL/bpExhrLwCHrD39phQlm7fhbhBN6AutcYpze8B5Y0gqqiexZYXmepTs2C0/1pTZ3 ul0oK9jcYvW/r0MszN5DheJGRDY9MJ0rNP03teK5RxMOY1cWJPiTCgGMxNhuDPMDH2EvKrU6YGT7C 4E6yM5Yj+r5Ixjq1bu7fW+qrKQyUWch6M9vKKqHBZ6CuiQIKbswKb46r6Zc2wsJ+Ws9YCfQbHaDC/ ImHiZwJqiGSMphkP+jfw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ncnWG-00Guhy-5v; Fri, 08 Apr 2022 12:15:17 +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 1ncnEK-00GnAA-Gk for linux-arm-kernel@lists.infradead.org; Fri, 08 Apr 2022 11:56:45 +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 174BF62067; Fri, 8 Apr 2022 11:56:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2E5EC385A9; Fri, 8 Apr 2022 11:56:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1649419003; bh=hKEqxVq3qIYNyJ3Q5Mx9hTOo2XjAx/mVC4NFmLZ1diw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SbZMRzpf8Te2GqAxWyjJ4p9AyUdTgvMBvxTqlCOch7C0mESZk9C8Tvll/cD/OwLJV a58obC4M0dWEBil8SprmomlsVt7GES2hrc6XSAT9x0T37rLsNDfrPXLjbg+vH243Ib NRE01/gbZbSh/IbPcb54QZXzs8fTEYCfsr3G+5F3nZaPWsHiJl/BgaAXiJG5T5jZ9y 4L4goHxFWF9VY6hTi/Etb2Pmpm9z6OauKlQ88WQ3IwKuktGT7b2aG2L1eyDJXzfaRr sAucKpTbF/5LBS+EiWc8tJxfMhX2XWBo5dafsskHXwM6eIDwWXfcesGorMi8Qz+PNO jPl06ZR899S9g== 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 v13 22/39] arm64/sme: Disable streaming mode and ZA when flushing CPU state Date: Fri, 8 Apr 2022 12:43:11 +0100 Message-Id: <20220408114328.1401034-23-broonie@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220408114328.1401034-1-broonie@kernel.org> References: <20220408114328.1401034-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/pANAwAKASTWi3JdVIfQAcsmYgBiUB/QbayPRAObOqjq+ZBzKh1FKgvLLGsBQ3TgiJDo PC1NiqOJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYlAf0AAKCRAk1otyXVSH0PZUB/ 9sow+wd3rU879zNb/GBVbvo9TsEmWORj7qVQs8QWG+WXCgghi0kb4VQRsffML91gmX/X9CUH05T7rb 6qfXtjDJske9cv6IOh5vnb5P4stAJNeq937A5L0+edmNQteMyTsPAMqFyLGsY91YcUqvDEfNk/fOw1 DmS9GUCRz9Zia3EsEhzVq+b9OKDtyDL8PU0fOl9BEeGEvbCH13XdSWwGIo55o7E9Ur5EyCLN/p7Jj9 welMKPF7nFWiYHpepkDvWdI0Xq1ZI75cn2i1L/GKnSUVnca0G0Sn3M9417FEYT7uXSUPMm64pTDv88 FJCe8oAsJgqNDoKK3kg27OSFkcgVRC 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-20220408_045644_653149_0877FD7F X-CRM114-Status: GOOD ( 12.39 ) 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