<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/power/Kconfig, branch v3.16</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/power/Kconfig?h=v3.16</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/power/Kconfig?h=v3.16'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-05-19T21:03:31Z</updated>
<entry>
<title>PM / OPP: Make OPP invisible to users in Kconfig</title>
<updated>2014-05-19T21:03:31Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2014-05-09T18:18:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=049d595a4db3b3a20fc252298010f0545ef659a3'/>
<id>urn:sha1:049d595a4db3b3a20fc252298010f0545ef659a3</id>
<content type='text'>
The OPP code is an in kernel library selected by its users, there is no
no architecture code required to implement it and enabling it without a
user just increases the kernel size. Since the users select rather than
depend on it just remove the ability to directly set the option from
Kconfig.

Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Acked-by: Nishanth Menon &lt;nm@ti.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PM / Sleep: Detect device suspend/resume lockup and log event</title>
<updated>2013-10-18T11:33:08Z</updated>
<author>
<name>Benoit Goby</name>
<email>benoit@android.com</email>
</author>
<published>2013-10-17T17:48:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70fea60d888d472ac044910fd0dc46b304419705'/>
<id>urn:sha1:70fea60d888d472ac044910fd0dc46b304419705</id>
<content type='text'>
Rather than hard-lock the kernel, dump the suspend/resume thread stack
and panic() to capture a message in pstore when a driver takes too long
to suspend/resume. Default suspend/resume watchdog timeout is set to 12
seconds to be longer than the usbhid 10 second timeout, but could be
changed at compile time.

Exclude from the watchdog the time spent waiting for children that
are resumed asynchronously and time every device, whether or not they
resumed synchronously.

This patch is targeted for mobile devices where a suspend/resume lockup
could cause a system reboot. Information about failing device can be
retrieved in subsequent boot session by mounting pstore and inspecting
the log. Laptops with EFI-enabled pstore could also benefit from
this feature.

The hardware watchdog timer is likely suspended during this time and
couldn't be relied upon. The soft-lockup detector would eventually tell
that tasks are not scheduled, but would provide little context as to why.
The patch hence uses system timer and assumes it is still active while the
devices are suspended/resumed.

This feature can be enabled/disabled during kernel configuration.

This change is based on earlier work by San Mehat.

Signed-off-by: Benoit Goby &lt;benoit@android.com&gt;
Signed-off-by: Zoran Markovic &lt;zoran.markovic@linaro.org&gt;
Acked-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq</title>
<updated>2013-07-03T02:53:30Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-03T02:53:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f317ff9eed763e99bd226a447f93d42509434f43'/>
<id>urn:sha1:f317ff9eed763e99bd226a447f93d42509434f43</id>
<content type='text'>
Pull workqueue changes from Tejun Heo:
 "Surprisingly, Lai and I didn't break too many things implementing
  custom pools and stuff last time around and there aren't any follow-up
  changes necessary at this point.

  The only change in this pull request is Viresh's patches to make some
  per-cpu workqueues to behave as unbound workqueues dependent on a boot
  param whose default can be configured via a config option.  This leads
  to higher processing overhead / lower bandwidth as more work items are
  bounced across CPUs; however, it can lead to noticeable powersave in
  certain configurations - ~10% w/ idlish constant workload on a
  big.LITTLE configuration according to Viresh.

  This is because per-cpu workqueues interfere with how the scheduler
  perceives whether or not each CPU is idle by forcing pinned tasks on
  them, which makes the scheduler's power-aware scheduling decisions
  less effective.

  Its effectiveness is likely less pronounced on homogenous
  configurations and this type of optimization can probably be made
  automatic; however, the changes are pretty minimal and the affected
  workqueues are clearly marked, so it's an easy gain for some
  configurations for the time being with pretty unintrusive changes."

* 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  fbcon: queue work on power efficient wq
  block: queue work on power efficient wq
  PHYLIB: queue work on system_power_efficient_wq
  workqueue: Add system wide power_efficient workqueues
  workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues
</content>
</entry>
<entry>
<title>Finally eradicate CONFIG_HOTPLUG</title>
<updated>2013-06-03T21:20:18Z</updated>
<author>
<name>Stephen Rothwell</name>
<email>sfr@canb.auug.org.au</email>
</author>
<published>2013-05-21T03:49:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=40b313608ad4ea655addd2ec6cdd106477ae8e15'/>
<id>urn:sha1:40b313608ad4ea655addd2ec6cdd106477ae8e15</id>
<content type='text'>
Ever since commit 45f035ab9b8f ("CONFIG_HOTPLUG should be always on"),
it has been basically impossible to build a kernel with CONFIG_HOTPLUG
turned off.  Remove all the remaining references to it.

Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Doug Thompson &lt;dougthompson@xmission.com&gt;
Cc: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Cc: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Pavel Machek &lt;pavel@ucw.cz&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Acked-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Acked-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues</title>
<updated>2013-05-14T17:50:06Z</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-04-08T11:15:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cee22a15052faa817e3ec8985a28154d3fabc7aa'/>
<id>urn:sha1:cee22a15052faa817e3ec8985a28154d3fabc7aa</id>
<content type='text'>
Workqueues can be performance or power-oriented. Currently, most workqueues are
bound to the CPU they were created on. This gives good performance (due to cache
effects) at the cost of potentially waking up otherwise idle cores (Idle from
scheduler's perspective. Which may or may not be physically idle) just to
process some work. To save power, we can allow the work to be rescheduled on a
core that is already awake.

Workqueues created with the WQ_UNBOUND flag will allow some power savings.
However, we don't change the default behaviour of the system.  To enable
power-saving behaviour, a new config option CONFIG_WQ_POWER_EFFICIENT needs to
be turned on. This option can also be overridden by the
workqueue.power_efficient boot parameter.

tj: Updated config description and comments.  Renamed
    CONFIG_WQ_POWER_EFFICIENT to CONFIG_WQ_POWER_EFFICIENT_DEFAULT.

Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Reviewed-by: Amit Kucheria &lt;amit.kucheria@linaro.org&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>PM / Domains: Add power off/on function for system core suspend stage</title>
<updated>2012-09-03T23:36:01Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2012-08-05T23:39:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=77f827de07432a74821cf0f831d699544b2d474f'/>
<id>urn:sha1:77f827de07432a74821cf0f831d699544b2d474f</id>
<content type='text'>
Introduce function pm_genpd_syscore_switch() and two wrappers around
it, pm_genpd_syscore_poweroff() and pm_genpd_syscore_poweron(),
allowing the callers to let the generic PM domains framework know
that the given device is not necessary any more and its PM domain
can be turned off (the former) or that the given device will be
required immediately, so its PM domain has to be turned on (the
latter) during the system core (syscore) stage of system suspend
(or hibernation) and resume.

These functions will be used for handling devices registered as
clock sources and clock event devices that belong to PM domains.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
</content>
</entry>
<entry>
<title>PM / Sleep: Separate printing suspend times from initcall_debug</title>
<updated>2012-07-01T11:31:23Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2012-06-20T22:19:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b2df1d4f8b95d9d1e3f064cef02fc5c5116b05cf'/>
<id>urn:sha1:b2df1d4f8b95d9d1e3f064cef02fc5c5116b05cf</id>
<content type='text'>
Change the behavior of the newly introduced
/sys/power/pm_print_times attribute so that its initial value
depends on initcall_debug, but setting it to 0 will cause device
suspend/resume times not to be printed, even if initcall_debug has
been set.  This way, the people who use initcall_debug for reasons
other than PM debugging will be able to switch the suspend/resume
times printing off, if need be.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Reviewed-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>PM / Sleep: User space wakeup sources garbage collector Kconfig option</title>
<updated>2012-05-11T19:11:16Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2012-05-05T19:57:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4e585d25e120f1eae0a3a8bf8f6ebc7692afec18'/>
<id>urn:sha1:4e585d25e120f1eae0a3a8bf8f6ebc7692afec18</id>
<content type='text'>
Make it possible to configure out the user space wakeup sources
garbage collector for debugging and default Android builds.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Arve Hjønnevåg &lt;arve@android.com&gt;
</content>
</entry>
<entry>
<title>PM / Sleep: Make the limit of user space wakeup sources configurable</title>
<updated>2012-05-11T19:11:02Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2012-05-05T19:57:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c73893e2ca731b4a81ae59246ab57979aa188777'/>
<id>urn:sha1:c73893e2ca731b4a81ae59246ab57979aa188777</id>
<content type='text'>
Make it possible to configure out the check against the limit of
user space wakeup sources for debugging and default Android builds.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Arve Hjønnevåg &lt;arve@android.com&gt;
</content>
</entry>
<entry>
<title>PM / Sleep: Add user space interface for manipulating wakeup sources, v3</title>
<updated>2012-05-01T19:26:05Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2012-04-29T20:53:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b86ff9820fd5df69295273b9aa68e58786ffc23f'/>
<id>urn:sha1:b86ff9820fd5df69295273b9aa68e58786ffc23f</id>
<content type='text'>
Android allows user space to manipulate wakelocks using two
sysfs file located in /sys/power/, wake_lock and wake_unlock.
Writing a wakelock name and optionally a timeout to the wake_lock
file causes the wakelock whose name was written to be acquired (it
is created before is necessary), optionally with the given timeout.
Writing the name of a wakelock to wake_unlock causes that wakelock
to be released.

Implement an analogous interface for user space using wakeup sources.
Add the /sys/power/wake_lock and /sys/power/wake_unlock files
allowing user space to create, activate and deactivate wakeup
sources, such that writing a name and optionally a timeout to
wake_lock causes the wakeup source of that name to be activated,
optionally with the given timeout.  If that wakeup source doesn't
exist, it will be created and then activated.  Writing a name to
wake_unlock causes the wakeup source of that name, if there is one,
to be deactivated.  Wakeup sources created with the help of
wake_lock that haven't been used for more than 5 minutes are garbage
collected and destroyed.  Moreover, there can be only WL_NUMBER_LIMIT
wakeup sources created with the help of wake_lock present at a time.

The data type used to track wakeup sources created by user space is
called "struct wakelock" to indicate the origins of this feature.

This version of the patch includes an rbtree manipulation fix from John Stultz.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
</feed>
