Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1307646

[PATCH 2/2] PM / Runtime: use deferrable timer for autosuspend

From Lucas Stach <l.stach@pengutronix.de>
Newsgroups linux.kernel
Subject [PATCH 2/2] PM / Runtime: use deferrable timer for autosuspend
Date 2016-01-12 18:20 +0100
Message-ID <qQaLV-3Xe-23@gated-at.bofh.it> (permalink)
References <qQaLV-3Xe-25@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


The timeouts used in PM autosuspend are relatively coarse (the shortest
I could find in a quick search through the kernel is 50ms). As they are
already handled relaxed by saving the overhead of always rearming the
timer by opportunistically suspending a device a bit early, it should
not matter if the the timeout is missed slightly.

By using a deferrable timer the CPU will not be woken just to handle
the autosuspend timeout, but handling will be batched with other
wakeups in the system.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
 drivers/base/power/runtime.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index e1a10a03df8e..975a282600ff 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1383,7 +1383,7 @@ void pm_runtime_init(struct device *dev)
 	INIT_WORK(&dev->power.work, pm_runtime_work);
 
 	dev->power.timer_expires = 0;
-	setup_timer(&dev->power.suspend_timer, pm_suspend_timer_fn,
+	setup_deferrable_timer(&dev->power.suspend_timer, pm_suspend_timer_fn,
 			(unsigned long)dev);
 
 	init_waitqueue_head(&dev->power.wait_queue);
-- 
2.6.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 2/2] PM / Runtime: use deferrable timer for autosuspend Lucas Stach <l.stach@pengutronix.de> - 2016-01-12 18:20 +0100
  Re: [PATCH 2/2] PM / Runtime: use deferrable timer for autosuspend Pavel Machek <pavel@ucw.cz> - 2016-01-13 20:10 +0100

csiph-web