]> Git Repo - linux.git/commit
cpufreq: intel_pstate: Rearrange locking in hybrid_init_cpu_capacity_scaling()
authorRafael J. Wysocki <[email protected]>
Thu, 7 Nov 2024 12:36:10 +0000 (13:36 +0100)
committerRafael J. Wysocki <[email protected]>
Mon, 11 Nov 2024 14:18:41 +0000 (15:18 +0100)
commit1a1030d10a6335bb5e6cdb24fc9388d3d9bcc1ac
tree40113e9793a04ce031cdc42a0cd0763b0a04e2fd
parent92447aa5f6e7fbad9427a3fd1bb9e0679c403206
cpufreq: intel_pstate: Rearrange locking in hybrid_init_cpu_capacity_scaling()

Notice that hybrid_init_cpu_capacity_scaling() only needs to hold
hybrid_capacity_lock around __hybrid_init_cpu_capacity_scaling()
calls, so introduce a "locked" wrapper around the latter and call
it from the former.  This allows to drop a local variable and a
label that are not needed any more.

Also, rename __hybrid_init_cpu_capacity_scaling() to
__hybrid_refresh_cpu_capacity_scaling() for consistency.

Interestingly enough, this fixes a locking issue introduced by commit
929ebc93ccaa ("cpufreq: intel_pstate: Set asymmetric CPU capacity on
hybrid systems") that put an arch_enable_hybrid_capacity_scale() call
under hybrid_capacity_lock, which was a mistake because the latter is
acquired in CPU hotplug paths and so it cannot be held around
cpus_read_lock() calls.

Link: https://lore.kernel.org/linux-pm/SJ1PR11MB6129EDBF22F8A90FC3A3EDC8B9582@SJ1PR11MB6129.namprd11.prod.outlook.com/
Fixes: 929ebc93ccaa ("cpufreq: intel_pstate: Set asymmetric CPU capacity on hybrid systems")
Signed-off-by: Rafael J. Wysocki <[email protected]>
Reported-by: "Borah, Chaitanya Kumar" <[email protected]>
Link: https://patch.msgid.link/[email protected]
[ rjw: Changelog update ]
Signed-off-by: Rafael J. Wysocki <[email protected]>
drivers/cpufreq/intel_pstate.c
This page took 0.047543 seconds and 4 git commands to generate.