Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Matthew Garrett
Date: Thursday, May 27, 2010 - 11:56 am

On Thu, May 27, 2010 at 07:48:40PM +0100, Alan Cox wrote:

It's code that's broadly identical to what I posted. The screen will 
come on if the event is critical, won't otherwise.


Even if it's using poll, it could block purely on the display if X turns 
the screen off between poll() waking and the write being made.
 

If it's blocked on the write then it only starts processing the packet 
again if the screen wakes up. You need to power up every piece of 
hardware that an application's blocked on, just in case they need to 
complete that read or write in order to get back to the event loop where 
they have the opportunity to read the network packet.

So, yes, I think this can work in that case. But it doesn't work in 
others - you won't idle applications that aren't accessing hardware 
drivers.

As an aside, I think this is a good idea in any case since a fringe 
benefit is the removal of the requirement to use the process freezer in 
suspend to RAM...


The problem is determining how to constrain it to go idle, where "idle" 
is defined as "Doesn't wake up until a wakeup event is received". It's 
acceptable for something to use as much CPU as it wants when the user is 
actively interacting with the device, but in most cases processes 
shouldn't be permitted to use any CPU when the session is idle. The 
question is how to implement something that allows a CPU-guzzling 
application to be idled without impairing its ability to process wakeup 
events.

-- 
Matthew Garrett | mjg59@srcf.ucam.org
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/8] Suspend block api (version 8), =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 1/8] PM: Opportunistic suspend support., =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 2/8] PM: suspend_block: Add driver to access suspen ..., =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 3/8] PM: suspend_block: Abort task freezing if a su ..., =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 4/8] PM: suspend_block: Add debugfs file, =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 5/8] PM: suspend_block: Add suspend_blocker stats, =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 6/8] PM: Add suspend blocking work., =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 7/8] Input: Block suspend while event queue is not ..., =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
[PATCH 8/8] power_supply: Block suspend while power supply ..., =?UTF-8?q?Arve=20Hj= ..., (Fri May 21, 3:46 pm)
Re: [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Sun May 23, 5:46 pm)
Re: [PATCH 0/8] Suspend block api (version 8), Felipe Balbi, (Sun May 23, 9:32 pm)
Re: [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Mon May 24, 11:49 am)
Re: [PATCH 0/8] Suspend block api (version 8), Kevin Hilman, (Mon May 24, 3:51 pm)
Re: [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Mon May 24, 4:38 pm)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 1:45 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 1:47 am)
Re: [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 2:40 am)
Re: [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 2:41 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 2:45 am)
Re: [PATCH 0/8] Suspend block api (version 8), Brian Swetland, (Wed May 26, 2:49 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 2:54 am)
Re: [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 3:02 am)
Re: [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 3:06 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 3:08 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 3:09 am)
Re: [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 3:19 am)
Re: [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 3:25 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 3:32 am)
Re: [PATCH 0/8] Suspend block api (version 8), Brian Swetland, (Wed May 26, 3:40 am)
Re: [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 3:40 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 3:49 am)
Re: [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 3:53 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 4:12 am)
Re: [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 4:35 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 4:37 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 5:24 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 5:33 am)
Re: [PATCH 0/8] Suspend block api (version 8), Alan Cox, (Wed May 26, 5:35 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 5:41 am)
Re: [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 5:53 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 5:54 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 6:03 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 6:06 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 6:07 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 6:19 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 6:30 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 6:39 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Wed May 26, 6:46 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 8:11 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 8:12 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 8:15 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 8:16 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 8:40 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Wed May 26, 8:45 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 8:47 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 8:49 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Wed May 26, 10:22 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 12:54 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 12:56 pm)
Re: [PATCH 0/8] Suspend block api (version 8), Zygo Blaxell, (Wed May 26, 1:18 pm)
Re: [PATCH 2/8] PM: suspend_block: Add driver to access su ..., Rafael J. Wysocki, (Wed May 26, 2:57 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 3:30 pm)
Re: [PATCH 2/8] PM: suspend_block: Add driver to access su ..., Rafael J. Wysocki, (Wed May 26, 3:45 pm)
Re: [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 3:52 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed May 26, 5:49 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 10:11 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed May 26, 10:14 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Thu May 27, 1:05 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Contreras, (Thu May 27, 1:58 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 6:26 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 6:35 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 6:37 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 7:06 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 7:28 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 7:29 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 7:35 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 7:41 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 7:43 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 8:05 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 8:07 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 8:32 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 8:52 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 9:07 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 9:19 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Thu May 27, 9:28 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 9:45 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 9:52 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 9:59 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 10:00 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 10:04 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:07 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:13 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 10:15 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:16 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Balbi, (Thu May 27, 10:18 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:20 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Thu May 27, 10:21 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:23 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:25 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:25 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:26 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:26 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:28 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:32 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:35 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:41 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Thu May 27, 10:42 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:46 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:50 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:52 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:52 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:54 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 10:56 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 10:59 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 10:59 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 11:02 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 11:06 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 11:12 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:12 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:17 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 11:18 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:18 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:20 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu May 27, 11:22 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:23 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:26 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:31 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Zygo Blaxell, (Thu May 27, 11:35 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 11:53 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 11:56 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 12:06 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 12:29 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Zygo Blaxell, (Thu May 27, 12:32 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 1:11 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu May 27, 1:23 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 1:38 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 2:06 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 2:08 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Thu May 27, 2:17 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 2:36 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Thu May 27, 2:55 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 3:08 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 3:35 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Thu May 27, 4:50 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Fri May 28, 12:03 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Fri May 28, 12:25 am)