Jean Pihet | 7 Feb 09:34

[PATCH 0/2] PM / QoS: unconditionally build the feature

The PM QoS features depend on CONFIG_PM which depends on
PM_SLEEP || PM_RUNTIME. This breaks CPU C-states with kernels
not having these CONFIGs.

Those patches allow the features in all cases.

Based on 3.3-rc1 from mainline.
Tested on OMAP3 Beagleboard, with CONFIG_PM.
Compile tested using the i386 defconfig, with and without CONFIG_PM.

Jean Pihet (2):
  PM / QoS: unconditionally build the feature
  PM / QoS: unconditionally build the per-device constraints feature

 drivers/base/power/Makefile |    3 +-
 include/linux/pm_qos.h      |   66 -------------------------------------------
 kernel/power/Makefile       |    3 +-
 3 files changed, 4 insertions(+), 68 deletions(-)

--

-- 
1.7.5.4

Nigel Cunningham | 3 Feb 09:59
Favicon

[Patch] JBD and JBD2 missing set_freezable()

Hi all.

With the latest and greatest changes to the freezer, I started seeing
panics that were caused by jbd2 running post-process freezing and
hitting the canary BUG_ON for non-TuxOnIce I/O submission. I've traced
this back to a lack of set_freezable calls in both jbd and jbd2. Since
they're clearly meant to be frozen (there are tests for freezing()), I
submit the following patch to add the missing calls.

Signed-off-by: Nigel Cunningham <nigel <at> tuxonice.net>

diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
index 59c09f9..89cd985 100644
--- a/fs/jbd/journal.c
+++ b/fs/jbd/journal.c
@@ -129,6 +129,8 @@ static int kjournald(void *arg)
 	setup_timer(&journal->j_commit_timer, commit_timeout,
 			(unsigned long)current);

+	set_freezable();
+
 	/* Record that the journal thread is running */
 	journal->j_task = current;
 	wake_up(&journal->j_wait_done_commit);
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index c0a5f9f..663e47c 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -139,6 +139,8 @@ static int kjournald2(void *arg)
 	setup_timer(&journal->j_commit_timer, commit_timeout,
(Continue reading)

Mansoor, Illyas | 26 Jan 11:19
Picon
Favicon

Question regarding completion signal in S3 flow

Hi All,

I have question related to suspend flow and completion signal:

Is it possible that a completion signal could be missed in S3 flow after
processes are frozen? 

The scenario is:

Suspend_thread->...->dpm_suspend_start->suspend->Wait_for_completion_timeout->do
es not receive signal and times out

Interrupt->complete->

This happens very rare, there are other reason why wait_for_completion_times out
like interrupt not received but I just want
To make sure if completion signal is not lost during S3.

I'm using 2.6.35+ kernel

-Illyas
Attachment (smime.p7s): application/pkcs7-signature, 7212 bytes
Jiri Slaby | 24 Jan 16:05
Picon
Gravatar

PM: cannot hibernate -- BUG at kernel/workqueue.c:3659

Hi,

this is a freshly booted system. When I do s2dsk, I see:
...
Freezing remaining freezable tasks ... BUG: 'workqueue_freezing' is true!
------------[ cut here ]------------
kernel BUG at /l/latest/linux/kernel/workqueue.c:3659!
invalid opcode: 0000 [#1] SMP
CPU 0
Modules linked in:

Pid: 2669, comm: s2disk Not tainted 3.3.0-rc1-next-20120124_64+ #1627
Bochs Bochs
RIP: 0010:[<ffffffff8107e365>]  [<ffffffff8107e365>]
freeze_workqueues_begin+0x195/0x1a0
RSP: 0018:ffff880046f01d68  EFLAGS: 00010292
RAX: 0000000000000023 RBX: 0000000000000001 RCX: 00000000000000c9
RDX: 0000000000000077 RSI: 0000000000000046 RDI: ffffffff81b51f7c
RBP: ffff880046f01d98 R08: ffffffff81a9d760 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 00007fff579464dc R14: ffffffffffffffff R15: 0000000000000004
FS:  00007f3c65d54700(0000) GS:ffff880049600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f3c64f58c20 CR3: 0000000045b64000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process s2disk (pid: 2669, threadinfo ffff880046f00000, task
ffff880047251980)
Stack:
 ffff880046f01d98 0000000000000001 0000000000000000 00007fff579464dc
(Continue reading)

Antti P Miettinen | 19 Jan 14:18
Favicon

[PATCH] MAINTAINERS: Fix linux-pm address

Current linux-pm mailing list address seems to be
linux-pm <at> lists.linux-foundation.org.

Signed-off-by: Antti P Miettinen <amiettinen <at> nvidia.com>
---
 MAINTAINERS |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 56818fe..6038cb8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2805,7 +2805,7 @@ F:	fs/freevxfs/
 FREEZER
 M:	Pavel Machek <pavel <at> ucw.cz>
 M:	"Rafael J. Wysocki" <rjw <at> sisk.pl>
-L:	linux-pm <at> vger.kernel.org
+L:	linux-pm <at> lists.linux-foundation.org
 S:	Supported
 F:	Documentation/power/freezing-of-tasks.txt
 F:	include/linux/freezer.h
@@ -3083,7 +3083,7 @@ F:	drivers/video/hgafb.c
 HIBERNATION (aka Software Suspend, aka swsusp)
 M:	Pavel Machek <pavel <at> ucw.cz>
 M:	"Rafael J. Wysocki" <rjw <at> sisk.pl>
-L:	linux-pm <at> vger.kernel.org
+L:	linux-pm <at> lists.linux-foundation.org
 S:	Supported
 F:	arch/x86/power/
 F:	drivers/base/power/
(Continue reading)

Antti P Miettinen | 16 Jan 07:59
Favicon

[PATCH v2 0/8] RFC: CPU frequency min/max as PM QoS params

[did not reach linux-pm as I sent to wrong address, sorry for
duplicates]

The inspiration for this patch series is the N9 CPU frequency boost
upon input events:

http://www.spinics.net/lists/cpufreq/msg00667.html

and the related changes in git://codeaurora.org/kernel/msm.git tree.
Those patches modify the ondemand cpufreq governor. This patch series
adds minimum and maximum CPU frequency as PM QoS parameters and
modifies the cpufreq core to enforce the PM QoS limits. There is also
an example module for boosting the frequency upon input events.

I've been testing these changes against Ubuntu 3.2 kernel on a Dell
E6420 with the ACPI cpufreq driver. The patches are against
linux-next/master, compile tested against it.

V2:
* split min and max to separate commits
* handle PM QoS min above max as max
* handle PM QoS max below min as min

	--Antti

Alex Frid (1):
  PM QoS: Simplify PM QoS expansion/merge

Antti P Miettinen (7):
  PM QoS: Add CPU frequency minimum as PM QoS param
(Continue reading)

Barry Song | 9 Jan 07:22
Favicon

[PATCH] mmc: core: move suspend/resume to dev_pm_ops and add hibernation support

From: Bin Shi <Bin.Shi <at> csr.com>

This patch moves suspend/resume to dev_pm_ops and add hibernation support.
It was tested on CSR SiRFprimaII cortex-a9 platform. A sd partition is used
as swsusp partition.

Signed-off-by: Bin Shi <Bin.Shi <at> csr.com>
Signed-off-by: Barry Song <Barry.Song <at> csr.com>
---
 drivers/mmc/core/bus.c |   38 +++++++++++++++++++++++++-------------
 1 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index 6be4924..bab50f7 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -122,14 +122,14 @@ static int mmc_bus_remove(struct device *dev)
 	return 0;
 }

-static int mmc_bus_suspend(struct device *dev, pm_message_t state)
+static int mmc_bus_suspend(struct device *dev)
 {
 	struct mmc_driver *drv = to_mmc_driver(dev->driver);
 	struct mmc_card *card = mmc_dev_to_card(dev);
 	int ret = 0;

 	if (dev->driver && drv->suspend)
-		ret = drv->suspend(card, state);
+		ret = drv->suspend(card, PMSG_SUSPEND);
(Continue reading)

Barry Song | 9 Jan 05:56
Favicon

[PATCH] PM:Hibernation: drop the check of swap space size for compressed image

From: Barry Song <Baohua.Song <at> csr.com>

For compressed image, the space required is not known until
we finish compressing and writing all pages.
This patch drops the check, and if swap space is not enough
finally, system can still restore to normal after writing
swap fails for compressed images.

Signed-off-by: Barry Song <Baohua.Song <at> csr.com>
---
 kernel/power/swap.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index 11a594c..c8306a5 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -774,8 +774,7 @@ static int enough_swap(unsigned int nr_pages, unsigned int flags)

 	pr_debug("PM: Free swap pages: %u\n", free_swap);

-	required = PAGES_FOR_IO + ((flags & SF_NOCOMPRESS_MODE) ?
-		nr_pages : (nr_pages * LZO_CMP_PAGES) / LZO_UNC_PAGES + 1);
+	required = PAGES_FOR_IO + nr_pages;
 	return free_swap > required;
 }

@@ -803,10 +802,12 @@ int swsusp_write(unsigned int flags)
 		printk(KERN_ERR "PM: Cannot get swap writer\n");
 		return error;
(Continue reading)

Antti P Miettinen | 6 Jan 01:36
Favicon

[PATCH 0/6] RFC: CPU frequency min/max as PM QoS params

The inspiration for this patch series is the N9 CPU frequency boost
upon input events:

http://www.spinics.net/lists/cpufreq/msg00667.html

and the related changes in git://codeaurora.org/kernel/msm.git tree.
Those patches modify the ondemand cpufreq governor. This patch series
adds minimum and maximum CPU frequency as PM QoS parameters and
modifies the cpufreq core to enforce the PM QoS limits. There is also
an example module for boosting the frequency upon input events.

I've been testing these changes against Ubuntu 3.2 kernel on a Dell
E6420 with the ACPI cpufreq driver. The patches are against
linux-next/master, compile tested against it.

	--Antti

Alex Frid (1):
  PM QoS: Simplify PM QoS expansion/merge

Antti P Miettinen (5):
  PM QoS: Add CPU frequency min/max as PM QoS params
  cpufreq: Export user_policy min/max
  cpufreq: Preserve sysfs min/max request
  cpufreq: Enforce PM QoS min/max limits
  input: CPU frequency booster

 drivers/cpufreq/cpufreq.c     |   57 +++++++++++++-
 drivers/input/Kconfig         |    9 ++
 drivers/input/Makefile        |    1 +
(Continue reading)

Rafael J. Wysocki | 4 Jan 23:52
Picon
Gravatar

Re: sysrq-o broken since 2.6.38

On Wednesday, January 04, 2012, Phil Oester wrote:
> In commit 1eb208ae [PM: Make CONFIG_PM depend on (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME)],
> sysrq-o option no longer works unless PM_SLEEP or PM_RUNTIME is enabled.  I doubt
> this was an intended consequence of this change.  Could someone confirm?

No, it wasn't.

I'll try to find out what the problem is.

Thanks,
Rafael
Jan-Simon Möller | 4 Jan 18:48
Picon
Picon

[RFC]: [PATCH] Export cpuidle_(un)register_governor

Hi all! 

This patch exports cpuidle_register_governor and cpuidle_unregister_governor 
with EXPORT_SYMBOL_GPL (as the other cpuidle_(un)register_* ). 

Reasoning: allow runtime loading of a cpuidle governor (mainly for 
development for now). 

Usually we don't need this as we're using built-ins for the governors - but 
during development it is really handy to load and unload a cpuidle governor 
(together with the cpuidle_sysfs_switch). 

Comments ? 

Best, 
Jan-Simon
From a21a054fa64f898576ee62fced30508e0affe243 Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <jansimon.moeller <at> gmx.de>

Date: Mon, 12 Dec 2011 14:40:56 +0100

Subject: [PATCH] Export cpuidle_register_governor and

 cpuidle_unregister_governor with EXPORT_SYMBOL_GPL (as the

 other cpuidle_(un)register_* ).

(Continue reading)


Gmane