lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240119090502.3869695-5-li.meng@amd.com>
Date: Fri, 19 Jan 2024 17:04:59 +0800
From: Meng Li <li.meng@....com>
To: "Rafael J . Wysocki" <rafael.j.wysocki@...el.com>, Borislav Petkov
	<bpetkov@....com>, Huang Rui <ray.huang@....com>
CC: <linux-pm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
	<x86@...nel.org>, <linux-acpi@...r.kernel.org>, Shuah Khan
	<skhan@...uxfoundation.org>, <linux-kselftest@...r.kernel.org>, "Nathan
 Fontenot" <nathan.fontenot@....com>, Deepak Sharma <deepak.sharma@....com>,
	Alex Deucher <alexander.deucher@....com>, Mario Limonciello
	<mario.limonciello@....com>, Shimmer Huang <shimmer.huang@....com>, "Perry
 Yuan" <Perry.Yuan@....com>, Xiaojian Du <Xiaojian.Du@....com>, Viresh Kumar
	<viresh.kumar@...aro.org>, Borislav Petkov <bp@...en8.de>, "Oleksandr
 Natalenko" <oleksandr@...alenko.name>, Meng Li <li.meng@....com>, Perry Yuan
	<perry.yuan@....com>
Subject: [PATCH V14 4/7] cpufreq: Add a notification message that the highest perf has changed

BIOS issues the notify 0x85 to OS that the highest performance
changed. And it will affect the ranking of the preferred core.
AMD-pstate driver will set the priority of cores based on the
preferred core ranking.

Tested-by: Oleksandr Natalenko <oleksandr@...alenko.name>
Reviewed-by: Mario Limonciello <mario.limonciello@....com>
Reviewed-by: Huang Rui <ray.huang@....com>
Reviewed-by: Perry Yuan <perry.yuan@....com>
Signed-off-by: Meng Li <li.meng@....com>
Link: https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#processor-device-notification-values
---
 drivers/acpi/processor_driver.c | 6 ++++++
 include/linux/cpufreq.h         | 1 +
 2 files changed, 7 insertions(+)

diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index 4bd16b3f0781..67db60eda370 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -27,6 +27,7 @@
 #define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80
 #define ACPI_PROCESSOR_NOTIFY_POWER	0x81
 #define ACPI_PROCESSOR_NOTIFY_THROTTLING	0x82
+#define ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED	0x85
 
 MODULE_AUTHOR("Paul Diefenbaugh");
 MODULE_DESCRIPTION("ACPI Processor Driver");
@@ -83,6 +84,11 @@ static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
 		acpi_bus_generate_netlink_event(device->pnp.device_class,
 						  dev_name(&device->dev), event, 0);
 		break;
+	case ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED:
+		cpufreq_update_limits(pr->id);
+		acpi_bus_generate_netlink_event(device->pnp.device_class,
+						  dev_name(&device->dev), event, 0);
+		break;
 	default:
 		acpi_handle_debug(handle, "Unsupported event [0x%x]\n", event);
 		break;
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index afda5f24d3dd..9bebeec24abb 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -263,6 +263,7 @@ static inline bool cpufreq_supports_freq_invariance(void)
 	return false;
 }
 static inline void disable_cpufreq(void) { }
+static inline void cpufreq_update_limits(unsigned int cpu) { }
 #endif
 
 #ifdef CONFIG_CPU_FREQ_STAT
-- 
2.34.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ