]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop powerclamp patch from 4.14 and 4.19
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 7 Mar 2023 12:37:04 +0000 (13:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 7 Mar 2023 12:37:04 +0000 (13:37 +0100)
queue-4.14/series
queue-4.14/thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch [deleted file]
queue-4.19/series
queue-4.19/thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch [deleted file]

index bb274faf13eb089a74b637196862a81ef471dedf..11b51f70df5bd584d45b75a29c041f81c4df1753 100644 (file)
@@ -131,7 +131,6 @@ ext4-refuse-to-create-ea-block-when-umounted.patch
 ext4-fix-possible-corruption-when-moving-a-directory.patch
 wifi-rtl8xxxu-use-a-longer-retry-limit-of-48.patch
 wifi-cfg80211-fix-use-after-free-for-wext.patch
-thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch
 dm-flakey-fix-logic-when-corrupting-a-bio.patch
 dm-flakey-don-t-corrupt-the-zero-page.patch
 arm-dts-exynos-correct-tmu-phandle-in-exynos4.patch
diff --git a/queue-4.14/thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch b/queue-4.14/thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch
deleted file mode 100644 (file)
index 14d9a30..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-From 8e47363588377e1bdb65e2b020b409cfb44dd260 Mon Sep 17 00:00:00 2001
-From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-Date: Wed, 1 Feb 2023 12:39:41 -0800
-Subject: thermal: intel: powerclamp: Fix cur_state for multi package system
-
-From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-
-commit 8e47363588377e1bdb65e2b020b409cfb44dd260 upstream.
-
-The powerclamp cooling device cur_state shows actual idle observed by
-package C-state idle counters. But the implementation is not sufficient
-for multi package or multi die system. The cur_state value is incorrect.
-On these systems, these counters must be read from each package/die and
-somehow aggregate them. But there is no good method for aggregation.
-
-It was not a problem when explicit CPU model addition was required to
-enable intel powerclamp. In this way certain CPU models could have
-been avoided. But with the removal of CPU model check with the
-availability of Package C-state counters, the driver is loaded on most
-of the recent systems.
-
-For multi package/die systems, just show the actual target idle state,
-the system is trying to achieve. In powerclamp this is the user set
-state minus one.
-
-Also there is no use of starting a worker thread for polling package
-C-state counters and applying any compensation for multiple package
-or multiple die systems.
-
-Fixes: b721ca0d1927 ("thermal/powerclamp: remove cpu whitelist")
-Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-Cc: 4.14+ <stable@vger.kernel.org> # 4.14+
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/thermal/intel_powerclamp.c |   20 ++++++++++++++++----
- 1 file changed, 16 insertions(+), 4 deletions(-)
-
---- a/drivers/thermal/intel_powerclamp.c
-+++ b/drivers/thermal/intel_powerclamp.c
-@@ -72,6 +72,7 @@
- static unsigned int target_mwait;
- static struct dentry *debug_dir;
-+static bool poll_pkg_cstate_enable;
- /* user selected target */
- static unsigned int set_target_ratio;
-@@ -280,6 +281,9 @@ static unsigned int get_compensation(int
- {
-       unsigned int comp = 0;
-+      if (!poll_pkg_cstate_enable)
-+              return 0;
-+
-       /* we only use compensation if all adjacent ones are good */
-       if (ratio == 1 &&
-               cal_data[ratio].confidence >= CONFIDENCE_OK &&
-@@ -552,7 +556,8 @@ static int start_power_clamp(void)
-       control_cpu = cpumask_first(cpu_online_mask);
-       clamping = true;
--      schedule_delayed_work(&poll_pkg_cstate_work, 0);
-+      if (poll_pkg_cstate_enable)
-+              schedule_delayed_work(&poll_pkg_cstate_work, 0);
-       /* start one kthread worker per online cpu */
-       for_each_online_cpu(cpu) {
-@@ -621,11 +626,15 @@ static int powerclamp_get_max_state(stru
- static int powerclamp_get_cur_state(struct thermal_cooling_device *cdev,
-                                unsigned long *state)
- {
--      if (true == clamping)
--              *state = pkg_cstate_ratio_cur;
--      else
-+      if (clamping) {
-+              if (poll_pkg_cstate_enable)
-+                      *state = pkg_cstate_ratio_cur;
-+              else
-+                      *state = set_target_ratio;
-+      } else {
-               /* to save power, do not poll idle ratio while not clamping */
-               *state = -1; /* indicates invalid state */
-+      }
-       return 0;
- }
-@@ -770,6 +779,9 @@ static int __init powerclamp_init(void)
-               goto exit_unregister;
-       }
-+      if (topology_max_packages() == 1 && topology_max_die_per_package() == 1)
-+              poll_pkg_cstate_enable = true;
-+
-       cooling_dev = thermal_cooling_device_register("intel_powerclamp", NULL,
-                                               &powerclamp_cooling_ops);
-       if (IS_ERR(cooling_dev)) {
index 100e47e98358a0826dae997ced1e9c38b369f004..f3b801708d8cfc899fd62bf5fd5a647cc2f9d7d4 100644 (file)
@@ -175,7 +175,6 @@ ext4-refuse-to-create-ea-block-when-umounted.patch
 ext4-fix-possible-corruption-when-moving-a-directory.patch
 wifi-rtl8xxxu-use-a-longer-retry-limit-of-48.patch
 wifi-cfg80211-fix-use-after-free-for-wext.patch
-thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch
 dm-flakey-fix-logic-when-corrupting-a-bio.patch
 dm-flakey-don-t-corrupt-the-zero-page.patch
 arm-dts-exynos-correct-tmu-phandle-in-exynos4.patch
diff --git a/queue-4.19/thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch b/queue-4.19/thermal-intel-powerclamp-fix-cur_state-for-multi-package-system.patch
deleted file mode 100644 (file)
index 14d9a30..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-From 8e47363588377e1bdb65e2b020b409cfb44dd260 Mon Sep 17 00:00:00 2001
-From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-Date: Wed, 1 Feb 2023 12:39:41 -0800
-Subject: thermal: intel: powerclamp: Fix cur_state for multi package system
-
-From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-
-commit 8e47363588377e1bdb65e2b020b409cfb44dd260 upstream.
-
-The powerclamp cooling device cur_state shows actual idle observed by
-package C-state idle counters. But the implementation is not sufficient
-for multi package or multi die system. The cur_state value is incorrect.
-On these systems, these counters must be read from each package/die and
-somehow aggregate them. But there is no good method for aggregation.
-
-It was not a problem when explicit CPU model addition was required to
-enable intel powerclamp. In this way certain CPU models could have
-been avoided. But with the removal of CPU model check with the
-availability of Package C-state counters, the driver is loaded on most
-of the recent systems.
-
-For multi package/die systems, just show the actual target idle state,
-the system is trying to achieve. In powerclamp this is the user set
-state minus one.
-
-Also there is no use of starting a worker thread for polling package
-C-state counters and applying any compensation for multiple package
-or multiple die systems.
-
-Fixes: b721ca0d1927 ("thermal/powerclamp: remove cpu whitelist")
-Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-Cc: 4.14+ <stable@vger.kernel.org> # 4.14+
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/thermal/intel_powerclamp.c |   20 ++++++++++++++++----
- 1 file changed, 16 insertions(+), 4 deletions(-)
-
---- a/drivers/thermal/intel_powerclamp.c
-+++ b/drivers/thermal/intel_powerclamp.c
-@@ -72,6 +72,7 @@
- static unsigned int target_mwait;
- static struct dentry *debug_dir;
-+static bool poll_pkg_cstate_enable;
- /* user selected target */
- static unsigned int set_target_ratio;
-@@ -280,6 +281,9 @@ static unsigned int get_compensation(int
- {
-       unsigned int comp = 0;
-+      if (!poll_pkg_cstate_enable)
-+              return 0;
-+
-       /* we only use compensation if all adjacent ones are good */
-       if (ratio == 1 &&
-               cal_data[ratio].confidence >= CONFIDENCE_OK &&
-@@ -552,7 +556,8 @@ static int start_power_clamp(void)
-       control_cpu = cpumask_first(cpu_online_mask);
-       clamping = true;
--      schedule_delayed_work(&poll_pkg_cstate_work, 0);
-+      if (poll_pkg_cstate_enable)
-+              schedule_delayed_work(&poll_pkg_cstate_work, 0);
-       /* start one kthread worker per online cpu */
-       for_each_online_cpu(cpu) {
-@@ -621,11 +626,15 @@ static int powerclamp_get_max_state(stru
- static int powerclamp_get_cur_state(struct thermal_cooling_device *cdev,
-                                unsigned long *state)
- {
--      if (true == clamping)
--              *state = pkg_cstate_ratio_cur;
--      else
-+      if (clamping) {
-+              if (poll_pkg_cstate_enable)
-+                      *state = pkg_cstate_ratio_cur;
-+              else
-+                      *state = set_target_ratio;
-+      } else {
-               /* to save power, do not poll idle ratio while not clamping */
-               *state = -1; /* indicates invalid state */
-+      }
-       return 0;
- }
-@@ -770,6 +779,9 @@ static int __init powerclamp_init(void)
-               goto exit_unregister;
-       }
-+      if (topology_max_packages() == 1 && topology_max_die_per_package() == 1)
-+              poll_pkg_cstate_enable = true;
-+
-       cooling_dev = thermal_cooling_device_register("intel_powerclamp", NULL,
-                                               &powerclamp_cooling_ops);
-       if (IS_ERR(cooling_dev)) {