linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V7 0/6] cpufreq: Don't loose cpufreq history on CPU hotplug
@ 2015-06-08 12:55 Viresh Kumar
  2015-06-08 12:55 ` [PATCH V7 1/6] cpufreq: Don't allow updating inactive policies from sysfs Viresh Kumar
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Viresh Kumar @ 2015-06-08 12:55 UTC (permalink / raw)
  To: Rafael Wysocki
  Cc: linaro-kernel, linux-pm, sboyd, prarit, skannan, Srivatsa Bhat,
	Viresh Kumar

Hi Rafael,

The aim of this series is to stop managing cpufreq sysfs directories on CPU
hotplug.

Currently on removal of a 'cpu != policy->cpu', we remove its sysfs directories
by removing the soft-link. And on removal of policy->cpu, we migrate the sysfs
directories to the next cpu in policy. But if policy->cpu was the last CPU, we
remove the policy completely and allocate it again once the CPUs come back.

This has shortcomings:

- Code Complexity
- Slower hotplug
- sysfs file permissions are reset after all policy->cpus are offlined
- CPUFreq stats history lost after all policy->cpus are offlined
- Special management of sysfs stuff during suspend/resume


To make things simple we can stop playing with sysfs files unless the driver is
getting removed. Also the policy can be kept intact to be used later.

First few patches provide a clean base for others *more important* patches.

V6->V7:
- Change the order of patches, "cpufreq: Remove cpufreq_update_policy"
  is moved to the end of the series and updated its changelog.

V5-V6:
- Merged v4 9/14 into 10/14 after some updates.
- Keep separate routines to add/remove symlinks.
- Only updated one patch in this version

V4-V5:
- Sending all patches again
- Fixed comments in one of the patches as suggested by you
- Merged the last commit about "physical hotplug of CPUs" with "cpufreq: Stop
  migrating sysfs files on hotplug".
- A new patch (content is old, just separated out into its own patch) "cpufreq:
  add/remove sysfs links via cpufreq_add_remove_dev_symlink()"

V3-V4:
- Only four patches sent this time:
  - [PATCH V4 01/14] cpufreq: Create for_each_{in}active_policy()
  - [PATCH V4 04/14] cpufreq: Don't traverse all active policies to find
  - [PATCH V4 05/14] cpufreq: Manage governor usage history with
  - [PATCH V4 06/14] cpufreq: Mark policy->governor = NULL for inactive
- Remove __temp from the arguments of for_each_[in]active_policies.
- Simplified macros/next_policy, etc.

V2->V3:
- First five are already applied by you and the 7th one was sent separately as a
  fix earlier and got applied. So, V2 had 20 patches and V3 has 14.
- Dropped while(1) and used do/while.
- policy->governor marked as NULL only while removing the governor and not when
  policy becomes inactive.
- Commit logs/comments updated
- Applied Acks from Saravan

v1->V2:
- Dropped the idea of using policy-lists for getting policy for any cpu
- Also dropped fallback list and its per-cpu variable
- Stopped cleaning cpufreq_cpu_data and doing list_del(policy) on logical
  hotplug.
- Added support for physical hotplug of CPUs (Untested).

Viresh Kumar (6):
  cpufreq: Don't allow updating inactive policies from sysfs
  cpufreq: Stop migrating sysfs files on hotplug
  cpufreq: Initialize policy->kobj while allocating policy
  cpufreq: Call cpufreq_policy_put_kobj() from cpufreq_policy_free()
  cpufreq: Restart governor as soon as possible
  cpufreq: Remove cpufreq_update_policy()

 drivers/cpufreq/cpufreq.c | 303 +++++++++++++++++++++++++---------------------
 1 file changed, 168 insertions(+), 135 deletions(-)

-- 
2.4.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-06-10 23:03 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-08 12:55 [PATCH V7 0/6] cpufreq: Don't loose cpufreq history on CPU hotplug Viresh Kumar
2015-06-08 12:55 ` [PATCH V7 1/6] cpufreq: Don't allow updating inactive policies from sysfs Viresh Kumar
2015-06-08 23:19   ` Rafael J. Wysocki
2015-06-09  2:46     ` Viresh Kumar
2015-06-09 21:50   ` Saravana Kannan
2015-06-08 12:55 ` [PATCH V7 2/6] cpufreq: Stop migrating sysfs files on hotplug Viresh Kumar
2015-06-08 23:23   ` Rafael J. Wysocki
2015-06-09  2:50     ` Viresh Kumar
2015-06-10  0:20   ` Saravana Kannan
2015-06-10  2:19     ` Viresh Kumar
2015-06-10 23:29       ` Rafael J. Wysocki
2015-06-08 12:55 ` [PATCH V7 3/6] cpufreq: Initialize policy->kobj while allocating policy Viresh Kumar
2015-06-08 12:55 ` [PATCH V7 4/6] cpufreq: Call cpufreq_policy_put_kobj() from cpufreq_policy_free() Viresh Kumar
2015-06-08 12:55 ` [PATCH V7 5/6] cpufreq: Restart governor as soon as possible Viresh Kumar
2015-06-08 23:27   ` Rafael J. Wysocki
2015-06-09  3:09     ` Viresh Kumar
2015-06-08 12:55 ` [PATCH V7 6/6] cpufreq: Remove cpufreq_update_policy() Viresh Kumar
2015-06-08 23:17 ` [PATCH V7 0/6] cpufreq: Don't loose cpufreq history on CPU hotplug Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).