Re: [linux-pm] Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware before hibernation/suspend

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: David Brownell <david-b@...>
Cc: <linux-pm@...>, Pavel Machek <pavel@...>, Matthew Garrett <mjg59@...>, LKML <linux-kernel@...>
Date: Tuesday, May 29, 2007 - 4:48 pm

On Tue, 29 May 2007, David Brownell wrote:


One can think of suspend-to-RAM as nothing more than a super-duper
selective suspend of all devices (including the CPU!).  This
illustrates the relationship between suspend-to-RAM and runtime PM.  
However there is one important distinction, the DoS issue that Pavel
raised.  With true suspend-to-RAM, autoresume on demand is not enabled
-- only on remote wakeup.  With runtime PM, both are enabled.


Elegant though it is, the "freeze I/O" approach suffers from 
implementation awkwardness.  Ideally individual drivers shouldn't have 
to worry about it, but the subsystems certainly will.

Consider as an example the class of char device drivers.  The only 
subsystem they have in common is VFS.  It would then be necessary for 
every entry point into VFS to check whether a suspend-to-RAM is in 
progress, and if it is, block until the suspend is over.  Each one of 
those entry points is on a hot path, so adding these checks is the sort 
of thing one would like to avoid.

By freezing tasks we can eliminate (most) I/O requests at the source 
with a single, relatively small amount of code (i.e., the 
refrigerator).  Freezing I/O, on the other hand, would involve many 
checks dispersed throughout a large number of source files -- checks 
that would have to execute even when a suspend wasn't in progress.

Alan Stern

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH -mm 0/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Sun May 27, 4:29 pm)
[RFC][PATCH -mm 3/3] PM: Disable _request_firmware before hi..., Rafael J. Wysocki, (Sun May 27, 4:31 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Mon May 28, 1:43 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Mon May 28, 3:43 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Mon May 28, 7:38 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Mon May 28, 8:26 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Mon May 28, 9:10 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Mon May 28, 7:28 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Mon May 28, 4:48 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Mon May 28, 6:41 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Mon May 28, 6:26 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Mon May 28, 8:07 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Sun May 27, 6:01 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Sun May 27, 5:45 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Mon May 28, 7:22 am)
Re: [linux-pm] Re: [RFC][PATCH -mm 3/3] PM: Disable _request..., Alan Stern, (Tue May 29, 4:48 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Mon May 28, 3:44 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Michael-Luke Jones, (Sun May 27, 4:45 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware befor..., Rafael J. Wysocki, (Sun May 27, 5:55 pm)
[RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Sun May 27, 4:30 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Tue May 29, 6:24 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Wed May 30, 4:44 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Wed May 30, 5:11 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Thu May 31, 1:42 am)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Thu May 31, 1:44 am)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Thu May 31, 4:02 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Mon May 28, 1:29 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Mon May 28, 1:26 pm)
[RFC][PATCH -mm 2/3] PM: Disable usermode helper before hibe..., Rafael J. Wysocki, (Sun May 27, 4:30 pm)