Message ID | 20230913164659.9345-3-sumitg@nvidia.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9ecd:0:b0:3f2:4152:657d with SMTP id t13csp1224421vqx; Wed, 13 Sep 2023 09:59:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGRiZ8kc/fvYYK+9OmnLnab8ShUJQWy9pjLKzfsKyU3zvrnBiOlxI7rSJJ0+agY3+qhOnFd X-Received: by 2002:a05:6358:2489:b0:13c:cb1e:9081 with SMTP id m9-20020a056358248900b0013ccb1e9081mr3227170rwc.32.1694624375875; Wed, 13 Sep 2023 09:59:35 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1694624375; cv=pass; d=google.com; s=arc-20160816; b=DZ5/FfMplKncL3JkWhoBbuY65JkMc5o7FJGR7nhc4ImIJKEy9wGUuzoCTI6cRV7C/w FgJ+0+7xgPHyxNGmx5uoiIfE1WA8/XqnL5Ysg9sb9f2DqGfhuHKVnbauad4lc1VwOei4 4g4D4/7quBbjB3/Exa1tGiPudmOhOrPYhlneEctQTufWw1BMklOoAPyFDl9y5kr7mIru 2CtPSpk2s1GpGJbVpu6guOaa1R6W1bKmr6/+jEB/16fDvJenTPkH96TWoUTZPCQtS4u9 jBt2RZJIoL9v1xJauFavniNX6bhVulDZqmRVgCK27lHjsVZqZQL+uoeIJwHyJyhukQIB SrsA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=kwzzw8138+YZ3/lmiNY9SOdnltHoR4qUADwwJh2D/Qg=; fh=qe2i5VGhBVBBTue3PoCsy/W6UI/kVCds/fgUz/LbVRc=; b=joWFTfmdoZUbO7FjfyjDT4Y8A9ZztvhBC0jgZftut7Bcn+4d3zCOWtYlZbL/7gfAK9 3DpPcCGnpkJJ65Xg625Yd/iujRBzWBjFAZmOpaZSAlgZmqzNdO9GWOxjoSBiiKn3uG0t 2ol/a1cb6BsACWEihoDqC2m1CVsiH+AzW2lgnjJ5FmZtdf4GEuAUrq4jYmUMrWrms8P+ Rt8ysdGnNGI8GNcnSxjZdrMwAtgQpDRzUixf9fqxu9SfSD27hn0PdgHyqnpCVPMi4nqC kpMov7N6nAQBpnwmK35UlrwfCwyJNAuVjqr/MP4PgxgzGJm4x6SqznDPUuuBM0luq1tT 1s4Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=M9opHYfT; arc=pass (i=1 spf=pass spfdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id f16-20020a63e310000000b00565f22ee768si8471948pgh.24.2023.09.13.09.59.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Sep 2023 09:59:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=M9opHYfT; arc=pass (i=1 spf=pass spfdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 923F3802F540; Wed, 13 Sep 2023 09:48:55 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231449AbjIMQsp (ORCPT <rfc822;pwkd43@gmail.com> + 35 others); Wed, 13 Sep 2023 12:48:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231364AbjIMQsU (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 13 Sep 2023 12:48:20 -0400 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2046.outbound.protection.outlook.com [40.107.102.46]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D7AF359D; Wed, 13 Sep 2023 09:47:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cqw5Ue7C7uSeYW0xJYq/rqwUXY8PYnVTjqVlx7RfFzi4RxvQYclP1k1SAgfgVMgg8jgkdjhCDb5uZCCRW/GGHrXvFuNVockoJbOUyxf4jusbOOSgwuoeiV4k1jSo8xYMpxBIxx+RqZFUXHH3pXN7BG1nACDHJFwXYLFI/JaBynStccykX12qROSjwIy1zkbEMK++XF1DmmmOCDsrwYxzP5/NXzWROEd2iqZDWUDOPABJ/2KBX3clSn+//vrB4qZsdUP+0TT2V3u+Hv7Pf+RYjAo28oE7PkAS0NjrlId9h9yH3hVzZBPckXpmNpIohZ0cYx7N3+8wER/KNYPejOhcZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kwzzw8138+YZ3/lmiNY9SOdnltHoR4qUADwwJh2D/Qg=; b=SDF78mzj+zBVoN8WWIlpCM25g9kO/O9K43y4APD4gXx6ZRfGaL/2gYwNt4kLl7P/udXvu61fHIvwyoYtNrCdxU7FD1h+KUXgiB1FK1ubhOcgECp+7sIxIYmDtHJrNu37+KzTEbzTpDjdAlCtVUEOwr2B5jTLZoxzlRvRTOpnZsSMOz4gXEKmt4+KYZrKhovDztU4t87/7lRr2fNdtxMhkC5WLp8IJsb65FH/hTvNa2o8EequCBfUA8od1hbG9grHbhkjn2EfTxgjSb9lYsbIiItJh/xE45NFuGkykT0tcDFTfVzQnki4/b5pnNoJFOSSHdotZabd4R8/iHvbjtvjZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kwzzw8138+YZ3/lmiNY9SOdnltHoR4qUADwwJh2D/Qg=; b=M9opHYfTO7FGalLZFSiN2Po/h0LBqnBuYysO5vLRmfYNidxG7jWzr/NcxYSjRr/7Rquiu+sb6kbFTpEybJZLDIkYW2yc/aybd5zvPhkHNpwChdAHquuxHPbrC9utkTnWYYfGVSSxKccez+Il0oFAhic+ccAB1y/8mjZMf6PJZSt2bls45DoiH6dX+wMKGgARvh6JRr59rUK1PUhoZykYSPeGmDGq3LnQWiXiYPvwDBw91iAt9KLF5y8tp15yb52IdPVGgRgb9E2u/A2Cj531BxMJQi5ukSTdS6aoXJY+rmvgG6eNhfREEnL8OGT5G7ISMUH4Uno0WcvF2cLh0ZzInQ== Received: from BL1PR13CA0169.namprd13.prod.outlook.com (2603:10b6:208:2bd::24) by DS7PR12MB6119.namprd12.prod.outlook.com (2603:10b6:8:99::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Wed, 13 Sep 2023 16:47:36 +0000 Received: from BL02EPF0001A0FC.namprd03.prod.outlook.com (2603:10b6:208:2bd:cafe::5) by BL1PR13CA0169.outlook.office365.com (2603:10b6:208:2bd::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.19 via Frontend Transport; Wed, 13 Sep 2023 16:47:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by BL02EPF0001A0FC.mail.protection.outlook.com (10.167.242.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.20 via Frontend Transport; Wed, 13 Sep 2023 16:47:35 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Wed, 13 Sep 2023 09:47:24 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 13 Sep 2023 09:47:24 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.986.41 via Frontend Transport; Wed, 13 Sep 2023 09:47:20 -0700 From: Sumit Gupta <sumitg@nvidia.com> To: <rafael@kernel.org>, <rui.zhang@intel.com>, <lenb@kernel.org>, <treding@nvidia.com>, <jonathanh@nvidia.com>, <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-tegra@vger.kernel.org> CC: <sumitg@nvidia.com>, <sanjayc@nvidia.com>, <ksitaraman@nvidia.com>, <srikars@nvidia.com>, <jbrasen@nvidia.com>, <bbasu@nvidia.com> Subject: [Patch v2 2/2] ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 Date: Wed, 13 Sep 2023 22:16:59 +0530 Message-ID: <20230913164659.9345-3-sumitg@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230913164659.9345-1-sumitg@nvidia.com> References: <20230913164659.9345-1-sumitg@nvidia.com> X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FC:EE_|DS7PR12MB6119:EE_ X-MS-Office365-Filtering-Correlation-Id: 3af7ba26-6a74-4522-d959-08dbb4792230 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vVjwhxMc48mYqxMqUlmxx49NW/ivPnab5yh9M4ZZbtCjLg48FjY0t9Aey00MgJFGnS7FWbxukhrUbSvSgb/tPE5Hq2z0HqdP0MSYKxdnaJUtQKkmBjT7dBaSwnFU9dH2zRNNFosaEY/SxFV+24NxjcY/hGWuFgGu4lgDbuDpoRBUQIbecSTy3cpHBB512tf2JWkxpVZoJiu/bqe6OrvwWZsLkJEgisXcT7l9BvOgwJOL2pd4ZT2TpzrTZdOGMzeAxMYC/3xmmd3q1XJwapW1N/PGOiV12BMuuLoNS8s7wq9OvuSN03XsE6VNin3gx36A56pB6d/MZB0JIRyD6aCUH7SYmw2uFwhDMiTzaSSHEipuDzn5LBmfO8AaZlFhvhItLInIGWF+jK7H3/5gVrUSznfiZTvEnxukWd1JBtPThmNMwQyQTa43EJpOqavNZBW3a8lws/L2aPEpllo+XUM2gvZm2V/XriiNL5XQupb1S5QqsB5xCWcMHTyndI4gtUjeOdYyy5HEgWw9asVstS2QLqs/XdB/T3JTpnZrxvPpuah9Rn3AAygnRAOCGmk94hfoXfpIel/o2YBUaYQFTBBShpGoa4Qgiq/yP7jmh7Qy4dLP4ZSRuIxyLZCE3XBVa1rnOgRjRvNlzGDYX95d0bYwBH/ZrTnEugvPGl3L6arVrbxHC+RO2/86nXUpC3tY3U0tnXKHyi8/TVvETAlS8Cd/p9FMhsbiI/BBHGSRDSL/iAl7+F8h5KrlYapf8paxpQzx/ajb+smdflHUUrtU6Vq72w== X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230031)(4636009)(396003)(39860400002)(136003)(376002)(346002)(186009)(1800799009)(451199024)(82310400011)(40470700004)(46966006)(36840700001)(316002)(41300700001)(26005)(1076003)(426003)(40480700001)(107886003)(336012)(4326008)(2906002)(70586007)(8676002)(54906003)(70206006)(8936002)(478600001)(5660300002)(110136005)(6666004)(40460700003)(7696005)(36756003)(36860700001)(2616005)(83380400001)(47076005)(86362001)(7636003)(82740400003)(356005)(2101003);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2023 16:47:35.8851 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3af7ba26-6a74-4522-d959-08dbb4792230 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0001A0FC.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6119 Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 13 Sep 2023 09:48:55 -0700 (PDT) X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1776942449785756378 X-GMAIL-MSGID: 1776942449785756378 |
Series |
Add support for _TFP and change throttle pctg
|
|
Commit Message
Sumit Gupta
Sept. 13, 2023, 4:46 p.m. UTC
From: Srikar Srimath Tirumala <srikars@nvidia.com> Current implementation of processor_thermal performs software throttling in fixed steps of "20%" which can be too coarse for some platforms. We observed some performance gain after reducing the throttle percentage. Change the CPUFREQ thermal reduction percentage and maximum thermal steps to be configurable. Also, update the default values of both for Nvidia Tegra241 (Grace) SoC. The thermal reduction percentage is reduced to "5%" and accordingly the maximum number of thermal steps are increased as they are derived from the reduction percentage. Signed-off-by: Srikar Srimath Tirumala <srikars@nvidia.com> Signed-off-by: Sumit Gupta <sumitg@nvidia.com> --- drivers/acpi/processor_thermal.c | 41 +++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-)
Comments
Hi Sumit, kernel test robot noticed the following build warnings: [auto build test WARNING on rafael-pm/linux-next] [also build test WARNING on linus/master v6.6-rc1 next-20230913] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Gupta/ACPI-thermal-Add-Thermal-fast-Sampling-Period-_TFP-support/20230914-004929 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next patch link: https://lore.kernel.org/r/20230913164659.9345-3-sumitg%40nvidia.com patch subject: [Patch v2 2/2] ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 config: i386-defconfig (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/config) compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202309140915.2J9OzWIZ-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/acpi/processor_thermal.c:141:6: warning: no previous declaration for 'acpi_thermal_cpufreq_config_nvidia' [-Wmissing-declarations] void acpi_thermal_cpufreq_config_nvidia(void) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/acpi_thermal_cpufreq_config_nvidia +141 drivers/acpi/processor_thermal.c 140 > 141 void acpi_thermal_cpufreq_config_nvidia(void) 142 { 143 #ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY 144 s32 soc_id = arm_smccc_get_soc_id_version(); 145 146 /* Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) */ 147 if ((soc_id < 0) || (soc_id != SMCCC_SOC_ID_T241)) 148 return; 149 150 /* Reduce the CPUFREQ Thermal reduction percentage to 5% */ 151 cpufreq_thermal_pctg = 5; 152 153 /* 154 * Derive the MAX_STEP from minimum throttle percentage so that the reduction 155 * percentage doesn't end up becoming negative. Also, cap the MAX_STEP so that 156 * the CPU performance doesn't become 0. 157 */ 158 cpufreq_thermal_max_step = ((100 / cpufreq_thermal_pctg) - 1); 159 #endif 160 } 161
Hi Sumit, kernel test robot noticed the following build warnings: [auto build test WARNING on rafael-pm/linux-next] [also build test WARNING on linus/master v6.6-rc1 next-20230913] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Gupta/ACPI-thermal-Add-Thermal-fast-Sampling-Period-_TFP-support/20230914-004929 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next patch link: https://lore.kernel.org/r/20230913164659.9345-3-sumitg%40nvidia.com patch subject: [Patch v2 2/2] ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 config: arm64-defconfig (https://download.01.org/0day-ci/archive/20230914/202309141006.XkUm1rIu-lkp@intel.com/config) compiler: aarch64-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309141006.XkUm1rIu-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202309141006.XkUm1rIu-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/acpi/processor_thermal.c:141:6: warning: no previous prototype for 'acpi_thermal_cpufreq_config_nvidia' [-Wmissing-prototypes] 141 | void acpi_thermal_cpufreq_config_nvidia(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/acpi_thermal_cpufreq_config_nvidia +141 drivers/acpi/processor_thermal.c 140 > 141 void acpi_thermal_cpufreq_config_nvidia(void) 142 { 143 #ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY 144 s32 soc_id = arm_smccc_get_soc_id_version(); 145 146 /* Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) */ 147 if ((soc_id < 0) || (soc_id != SMCCC_SOC_ID_T241)) 148 return; 149 150 /* Reduce the CPUFREQ Thermal reduction percentage to 5% */ 151 cpufreq_thermal_pctg = 5; 152 153 /* 154 * Derive the MAX_STEP from minimum throttle percentage so that the reduction 155 * percentage doesn't end up becoming negative. Also, cap the MAX_STEP so that 156 * the CPU performance doesn't become 0. 157 */ 158 cpufreq_thermal_max_step = ((100 / cpufreq_thermal_pctg) - 1); 159 #endif 160 } 161
Hi Sumit,
kernel test robot noticed the following build warnings:
[auto build test WARNING on rafael-pm/linux-next]
[also build test WARNING on linus/master v6.6-rc1 next-20230913]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Gupta/ACPI-thermal-Add-Thermal-fast-Sampling-Period-_TFP-support/20230914-004929
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link: https://lore.kernel.org/r/20230913164659.9345-3-sumitg%40nvidia.com
patch subject: [Patch v2 2/2] ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241
config: i386-randconfig-062-20230914 (https://download.01.org/0day-ci/archive/20230914/202309141242.CUDGcSdC-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309141242.CUDGcSdC-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309141242.CUDGcSdC-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/acpi/processor_thermal.c:141:6: sparse: sparse: symbol 'acpi_thermal_cpufreq_config_nvidia' was not declared. Should it be static?
> Hi Sumit, > > kernel test robot noticed the following build warnings: > > [auto build test WARNING on rafael-pm/linux-next] > [also build test WARNING on linus/master v6.6-rc1 next-20230913] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Gupta/ACPI-thermal-Add-Thermal-fast-Sampling-Period-_TFP-support/20230914-004929 > base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next > patch link: https://lore.kernel.org/r/20230913164659.9345-3-sumitg%40nvidia.com > patch subject: [Patch v2 2/2] ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 > config: i386-defconfig (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/config) > compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202309140915.2J9OzWIZ-lkp@intel.com/ > > All warnings (new ones prefixed by >>): > >>> drivers/acpi/processor_thermal.c:141:6: warning: no previous declaration for 'acpi_thermal_cpufreq_config_nvidia' [-Wmissing-declarations] > void acpi_thermal_cpufreq_config_nvidia(void) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Thank you for the report. The below change fixes the warning for me. -void acpi_thermal_cpufreq_config_nvidia(void) +static void acpi_thermal_cpufreq_config_nvidia(void) Hi Rafael, If there is no other comment. Could you please add the change while applying or you prefer me sending new version ? Thank you, Sumit Gupta > > vim +/acpi_thermal_cpufreq_config_nvidia +141 drivers/acpi/processor_thermal.c > > 140 > > 141 void acpi_thermal_cpufreq_config_nvidia(void) > 142 { > 143 #ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY > 144 s32 soc_id = arm_smccc_get_soc_id_version(); > 145 > 146 /* Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) */ > 147 if ((soc_id < 0) || (soc_id != SMCCC_SOC_ID_T241)) > 148 return; > 149 > 150 /* Reduce the CPUFREQ Thermal reduction percentage to 5% */ > 151 cpufreq_thermal_pctg = 5; > 152 > 153 /* > 154 * Derive the MAX_STEP from minimum throttle percentage so that the reduction > 155 * percentage doesn't end up becoming negative. Also, cap the MAX_STEP so that > 156 * the CPU performance doesn't become 0. > 157 */ > 158 cpufreq_thermal_max_step = ((100 / cpufreq_thermal_pctg) - 1); > 159 #endif > 160 } > 161 > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki
On Tue, Sep 19, 2023 at 1:27 PM Sumit Gupta <sumitg@nvidia.com> wrote: > > > > > Hi Sumit, > > > > kernel test robot noticed the following build warnings: > > > > [auto build test WARNING on rafael-pm/linux-next] > > [also build test WARNING on linus/master v6.6-rc1 next-20230913] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Gupta/ACPI-thermal-Add-Thermal-fast-Sampling-Period-_TFP-support/20230914-004929 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next > > patch link: https://lore.kernel.org/r/20230913164659.9345-3-sumitg%40nvidia.com > > patch subject: [Patch v2 2/2] ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 > > config: i386-defconfig (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/config) > > compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0 > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot <lkp@intel.com> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202309140915.2J9OzWIZ-lkp@intel.com/ > > > > All warnings (new ones prefixed by >>): > > > >>> drivers/acpi/processor_thermal.c:141:6: warning: no previous declaration for 'acpi_thermal_cpufreq_config_nvidia' [-Wmissing-declarations] > > void acpi_thermal_cpufreq_config_nvidia(void) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > Thank you for the report. > The below change fixes the warning for me. > > -void acpi_thermal_cpufreq_config_nvidia(void) > +static void acpi_thermal_cpufreq_config_nvidia(void) > > > Hi Rafael, > If there is no other comment. Could you please add the change while > applying or you prefer me sending new version ? Please update. Besides, I haven't said that I will apply it without changes yet. Thanks!
>> >>> Hi Sumit, >>> >>> kernel test robot noticed the following build warnings: >>> >>> [auto build test WARNING on rafael-pm/linux-next] >>> [also build test WARNING on linus/master v6.6-rc1 next-20230913] >>> [If your patch is applied to the wrong git tree, kindly drop us a note. >>> And when submitting patch, we suggest to use '--base' as documented in >>> https://git-scm.com/docs/git-format-patch#_base_tree_information] >>> >>> url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Gupta/ACPI-thermal-Add-Thermal-fast-Sampling-Period-_TFP-support/20230914-004929 >>> base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next >>> patch link: https://lore.kernel.org/r/20230913164659.9345-3-sumitg%40nvidia.com >>> patch subject: [Patch v2 2/2] ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 >>> config: i386-defconfig (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/config) >>> compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0 >>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309140915.2J9OzWIZ-lkp@intel.com/reproduce) >>> >>> If you fix the issue in a separate patch/commit (i.e. not just a new version of >>> the same patch/commit), kindly add following tags >>> | Reported-by: kernel test robot <lkp@intel.com> >>> | Closes: https://lore.kernel.org/oe-kbuild-all/202309140915.2J9OzWIZ-lkp@intel.com/ >>> >>> All warnings (new ones prefixed by >>): >>> >>>>> drivers/acpi/processor_thermal.c:141:6: warning: no previous declaration for 'acpi_thermal_cpufreq_config_nvidia' [-Wmissing-declarations] >>> void acpi_thermal_cpufreq_config_nvidia(void) >>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >> >> Thank you for the report. >> The below change fixes the warning for me. >> >> -void acpi_thermal_cpufreq_config_nvidia(void) >> +static void acpi_thermal_cpufreq_config_nvidia(void) >> >> >> Hi Rafael, >> If there is no other comment. Could you please add the change while >> applying or you prefer me sending new version ? > > Please update. > > Besides, I haven't said that I will apply it without changes yet. > > Thanks! Sure, will wait for more comments and add this change in v2. Thank you, Sumit Gupta
On Wed, Sep 13, 2023 at 6:47 PM Sumit Gupta <sumitg@nvidia.com> wrote: > > From: Srikar Srimath Tirumala <srikars@nvidia.com> > > Current implementation of processor_thermal performs software throttling > in fixed steps of "20%" which can be too coarse for some platforms. > We observed some performance gain after reducing the throttle percentage. > Change the CPUFREQ thermal reduction percentage and maximum thermal steps > to be configurable. Also, update the default values of both for Nvidia > Tegra241 (Grace) SoC. The thermal reduction percentage is reduced to "5%" > and accordingly the maximum number of thermal steps are increased as they > are derived from the reduction percentage. > > Signed-off-by: Srikar Srimath Tirumala <srikars@nvidia.com> > Signed-off-by: Sumit Gupta <sumitg@nvidia.com> > --- > drivers/acpi/processor_thermal.c | 41 +++++++++++++++++++++++++++++--- > 1 file changed, 38 insertions(+), 3 deletions(-) > > diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c > index b7c6287eccca..30f2801abce6 100644 > --- a/drivers/acpi/processor_thermal.c > +++ b/drivers/acpi/processor_thermal.c > @@ -26,7 +26,16 @@ > */ > > #define CPUFREQ_THERMAL_MIN_STEP 0 > -#define CPUFREQ_THERMAL_MAX_STEP 3 > + > +static int cpufreq_thermal_max_step = 3; __read_mostly I suppose? > + > +/* > + * Minimum throttle percentage for processor_thermal cooling device. + * > + * The processor_thermal driver uses it to calculate the percentage amount by > + * which cpu frequency must be reduced for each cooling state. This is also used > + * to calculate the maximum number of throttling steps or cooling states. > + */ > +static int cpufreq_thermal_pctg = 20; __read_mostly here too? > > static DEFINE_PER_CPU(unsigned int, cpufreq_thermal_reduction_pctg); > > @@ -71,7 +80,7 @@ static int cpufreq_get_max_state(unsigned int cpu) > if (!cpu_has_cpufreq(cpu)) > return 0; > > - return CPUFREQ_THERMAL_MAX_STEP; > + return cpufreq_thermal_max_step; > } > > static int cpufreq_get_cur_state(unsigned int cpu) > @@ -113,7 +122,8 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state) > if (!policy) > return -EINVAL; > > - max_freq = (policy->cpuinfo.max_freq * (100 - reduction_pctg(i) * 20)) / 100; > + max_freq = (policy->cpuinfo.max_freq * > + (100 - reduction_pctg(i) * cpufreq_thermal_pctg)) / 100; > > cpufreq_cpu_put(policy); > > @@ -126,10 +136,35 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state) > return 0; > } > #ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY > +#define SMCCC_SOC_ID_T241 0x036b0241 > + > +void acpi_thermal_cpufreq_config_nvidia(void) static void ? > +{ > +#ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY > + s32 soc_id = arm_smccc_get_soc_id_version(); > + > + /* Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) */ > + if ((soc_id < 0) || (soc_id != SMCCC_SOC_ID_T241)) Inner parens are redundant. > + return; > + > + /* Reduce the CPUFREQ Thermal reduction percentage to 5% */ > + cpufreq_thermal_pctg = 5; > + > + /* > + * Derive the MAX_STEP from minimum throttle percentage so that the reduction > + * percentage doesn't end up becoming negative. Also, cap the MAX_STEP so that > + * the CPU performance doesn't become 0. > + */ > + cpufreq_thermal_max_step = ((100 / cpufreq_thermal_pctg) - 1); Outer parens are redundant. > +#endif > +} #else static inline void void acpi_thermal_cpufreq_config_nvidia(void) {} #endif > + > void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy) > { > unsigned int cpu; > > + acpi_thermal_cpufreq_config_nvidia(); > + > for_each_cpu(cpu, policy->related_cpus) { > struct acpi_processor *pr = per_cpu(processors, cpu); > int ret; > -- And patch [1/2] needs to be rebased on the current ACPI thermal material in linux-next. Thanks!
On 04/10/23 01:07, Rafael J. Wysocki wrote: > External email: Use caution opening links or attachments > > > On Wed, Sep 13, 2023 at 6:47 PM Sumit Gupta <sumitg@nvidia.com> wrote: >> >> From: Srikar Srimath Tirumala <srikars@nvidia.com> >> >> Current implementation of processor_thermal performs software throttling >> in fixed steps of "20%" which can be too coarse for some platforms. >> We observed some performance gain after reducing the throttle percentage. >> Change the CPUFREQ thermal reduction percentage and maximum thermal steps >> to be configurable. Also, update the default values of both for Nvidia >> Tegra241 (Grace) SoC. The thermal reduction percentage is reduced to "5%" >> and accordingly the maximum number of thermal steps are increased as they >> are derived from the reduction percentage. >> >> Signed-off-by: Srikar Srimath Tirumala <srikars@nvidia.com> >> Signed-off-by: Sumit Gupta <sumitg@nvidia.com> >> --- >> drivers/acpi/processor_thermal.c | 41 +++++++++++++++++++++++++++++--- >> 1 file changed, 38 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c >> index b7c6287eccca..30f2801abce6 100644 >> --- a/drivers/acpi/processor_thermal.c >> +++ b/drivers/acpi/processor_thermal.c >> @@ -26,7 +26,16 @@ >> */ >> >> #define CPUFREQ_THERMAL_MIN_STEP 0 >> -#define CPUFREQ_THERMAL_MAX_STEP 3 >> + >> +static int cpufreq_thermal_max_step = 3; > > __read_mostly I suppose? > Added in v3. >> + >> +/* >> + * Minimum throttle percentage for processor_thermal cooling device. > > + * > >> + * The processor_thermal driver uses it to calculate the percentage amount by >> + * which cpu frequency must be reduced for each cooling state. This is also used >> + * to calculate the maximum number of throttling steps or cooling states. >> + */ >> +static int cpufreq_thermal_pctg = 20; > > __read_mostly here too? > Added in v3. >> >> static DEFINE_PER_CPU(unsigned int, cpufreq_thermal_reduction_pctg); >> >> @@ -71,7 +80,7 @@ static int cpufreq_get_max_state(unsigned int cpu) >> if (!cpu_has_cpufreq(cpu)) >> return 0; >> >> - return CPUFREQ_THERMAL_MAX_STEP; >> + return cpufreq_thermal_max_step; >> } >> >> static int cpufreq_get_cur_state(unsigned int cpu) >> @@ -113,7 +122,8 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state) >> if (!policy) >> return -EINVAL; >> >> - max_freq = (policy->cpuinfo.max_freq * (100 - reduction_pctg(i) * 20)) / 100; >> + max_freq = (policy->cpuinfo.max_freq * >> + (100 - reduction_pctg(i) * cpufreq_thermal_pctg)) / 100; >> >> cpufreq_cpu_put(policy); >> >> @@ -126,10 +136,35 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state) >> return 0; >> } >> > > #ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY > >> +#define SMCCC_SOC_ID_T241 0x036b0241 >> + >> +void acpi_thermal_cpufreq_config_nvidia(void) > > static void ? > Added in v3. >> +{ >> +#ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY >> + s32 soc_id = arm_smccc_get_soc_id_version(); >> + >> + /* Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) */ >> + if ((soc_id < 0) || (soc_id != SMCCC_SOC_ID_T241)) > > Inner parens are redundant. > Removed in v3. >> + return; >> + >> + /* Reduce the CPUFREQ Thermal reduction percentage to 5% */ >> + cpufreq_thermal_pctg = 5; >> + >> + /* >> + * Derive the MAX_STEP from minimum throttle percentage so that the reduction >> + * percentage doesn't end up becoming negative. Also, cap the MAX_STEP so that >> + * the CPU performance doesn't become 0. >> + */ >> + cpufreq_thermal_max_step = ((100 / cpufreq_thermal_pctg) - 1); > > Outer parens are redundant. > ACK. >> +#endif >> +} > > #else > static inline void void acpi_thermal_cpufreq_config_nvidia(void) {} > #endif > >> + >> void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy) >> { >> unsigned int cpu; >> >> + acpi_thermal_cpufreq_config_nvidia(); >> + >> for_each_cpu(cpu, policy->related_cpus) { >> struct acpi_processor *pr = per_cpu(processors, cpu); >> int ret; >> -- > > And patch [1/2] needs to be rebased on the current ACPI thermal > material in linux-next. > Ok. > Thanks!
diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c index b7c6287eccca..30f2801abce6 100644 --- a/drivers/acpi/processor_thermal.c +++ b/drivers/acpi/processor_thermal.c @@ -26,7 +26,16 @@ */ #define CPUFREQ_THERMAL_MIN_STEP 0 -#define CPUFREQ_THERMAL_MAX_STEP 3 + +static int cpufreq_thermal_max_step = 3; + +/* + * Minimum throttle percentage for processor_thermal cooling device. + * The processor_thermal driver uses it to calculate the percentage amount by + * which cpu frequency must be reduced for each cooling state. This is also used + * to calculate the maximum number of throttling steps or cooling states. + */ +static int cpufreq_thermal_pctg = 20; static DEFINE_PER_CPU(unsigned int, cpufreq_thermal_reduction_pctg); @@ -71,7 +80,7 @@ static int cpufreq_get_max_state(unsigned int cpu) if (!cpu_has_cpufreq(cpu)) return 0; - return CPUFREQ_THERMAL_MAX_STEP; + return cpufreq_thermal_max_step; } static int cpufreq_get_cur_state(unsigned int cpu) @@ -113,7 +122,8 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state) if (!policy) return -EINVAL; - max_freq = (policy->cpuinfo.max_freq * (100 - reduction_pctg(i) * 20)) / 100; + max_freq = (policy->cpuinfo.max_freq * + (100 - reduction_pctg(i) * cpufreq_thermal_pctg)) / 100; cpufreq_cpu_put(policy); @@ -126,10 +136,35 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state) return 0; } +#define SMCCC_SOC_ID_T241 0x036b0241 + +void acpi_thermal_cpufreq_config_nvidia(void) +{ +#ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY + s32 soc_id = arm_smccc_get_soc_id_version(); + + /* Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) */ + if ((soc_id < 0) || (soc_id != SMCCC_SOC_ID_T241)) + return; + + /* Reduce the CPUFREQ Thermal reduction percentage to 5% */ + cpufreq_thermal_pctg = 5; + + /* + * Derive the MAX_STEP from minimum throttle percentage so that the reduction + * percentage doesn't end up becoming negative. Also, cap the MAX_STEP so that + * the CPU performance doesn't become 0. + */ + cpufreq_thermal_max_step = ((100 / cpufreq_thermal_pctg) - 1); +#endif +} + void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy) { unsigned int cpu; + acpi_thermal_cpufreq_config_nvidia(); + for_each_cpu(cpu, policy->related_cpus) { struct acpi_processor *pr = per_cpu(processors, cpu); int ret;