[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0e2b8fc9-a84d-2bf2-91b7-6556bad43ede@nvidia.com>
Date: Wed, 25 Oct 2023 18:21:25 +0530
From: Sumit Gupta <sumitg@...dia.com>
To: Sudeep Holla <sudeep.holla@....com>
CC: <rafael@...nel.org>, <rui.zhang@...el.com>, <lenb@...nel.org>,
<linux-acpi@...r.kernel.org>, <linux-tegra@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <treding@...dia.com>,
<jonathanh@...dia.com>, <bbasu@...dia.com>, <sanjayc@...dia.com>,
<ksitaraman@...dia.com>, <srikars@...dia.com>,
<jbrasen@...dia.com>, Sumit Gupta <sumitg@...dia.com>
Subject: Re: [Patch v5 2/2] ACPI: processor: reduce CPUFREQ thermal reduction
pctg for Tegra241
On 23/10/23 14:23, Sudeep Holla wrote:
> External email: Use caution opening links or attachments
>
>
> On Sat, Oct 14, 2023 at 04:24:26PM +0530, Sumit Gupta wrote:
>> From: Srikar Srimath Tirumala <srikars@...dia.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@...dia.com>
>> Co-developed-by: Sumit Gupta <sumitg@...dia.com>
>> Signed-off-by: Sumit Gupta <sumitg@...dia.com>
>> ---
>> drivers/acpi/arm64/Makefile | 1 +
>> drivers/acpi/arm64/thermal_cpufreq.c | 20 ++++++++++++++++
>> drivers/acpi/processor_thermal.c | 35 +++++++++++++++++++++++++---
>> include/linux/acpi.h | 9 +++++++
>> 4 files changed, 62 insertions(+), 3 deletions(-)
>> create mode 100644 drivers/acpi/arm64/thermal_cpufreq.c
>>
>> diff --git a/drivers/acpi/arm64/Makefile b/drivers/acpi/arm64/Makefile
>> index 143debc1ba4a..3f181d8156cc 100644
>> --- a/drivers/acpi/arm64/Makefile
>> +++ b/drivers/acpi/arm64/Makefile
>> @@ -5,3 +5,4 @@ obj-$(CONFIG_ACPI_GTDT) += gtdt.o
>> obj-$(CONFIG_ACPI_APMT) += apmt.o
>> obj-$(CONFIG_ARM_AMBA) += amba.o
>> obj-y += dma.o init.o
>> +obj-$(CONFIG_ACPI) += thermal_cpufreq.o
>
> Do we really need CONFIG_ACPI here ? We won't be building this if it
> is not enabled.
>
I think we can remove the CONFIG_ACPI macro here and enable it by default.
> If this is for some module building, then does it make sense to have
> more specific config ? May be CONFIG_ACPI_THERMAL ?
>
>> diff --git a/drivers/acpi/arm64/thermal_cpufreq.c b/drivers/acpi/arm64/thermal_cpufreq.c
>> new file mode 100644
>> index 000000000000..de834fb013e7
>> --- /dev/null
>> +++ b/drivers/acpi/arm64/thermal_cpufreq.c
>> @@ -0,0 +1,20 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>> +#include <linux/acpi.h>
>> +
>> +#ifdef CONFIG_HAVE_ARM_SMCCC_DISCOVERY
>> +#define SMCCC_SOC_ID_T241 0x036b0241
>> +
>> +int acpi_thermal_cpufreq_pctg(void)
>> +{
>> + s32 soc_id = arm_smccc_get_soc_id_version();
>> +
>> + /*
>> + * Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) and
>> + * reduce the CPUFREQ Thermal reduction percentage to 5%.
>> + */
>> + if (soc_id == SMCCC_SOC_ID_T241)
>> + return 5;
>> +
>> + return 0;
>> +}
>> +#endif
>
> Since this looks like arch specific hook/callback, not sure if it is good
> idea to have "arch_" in the function name. But if Rafael is OK with the name
> I am fine with this as well.
>
> --
> Regards,
> Sudeep
Will change the name from acpi_thermal_cpufreq_* to
acpi_arch_thermal_cpufreq_* if this suits more.
Best Regards,
Sumit Gupta
Powered by blists - more mailing lists