Re: [PATCH] Remove process freezer from suspend to RAM pathway

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Benjamin Herrenschmidt
Date: Thursday, July 5, 2007 - 8:59 pm

> How about a freezer whose job it is to "wait for pending hard  

Well, waiting for pending DMA and making sure to not trigger more
activity is what driver suspend() is supposed to do. With the ability
for simple drivers that can cope with it to just basically use a
late_suspend(), called after IRQs are off, that basically does what you
describe: wait for pending HW tasks to complete (polling) and turn the
damn thing off.

Note that the later is really a shortcut for somewhat dump and directly
accessible devices (PCI comes to mind). Things like USB has to use the
"normal" mechanism of blocking IOs etc... at suspend(), at least, USB
devices have to since the USB HC will not issue any new URBs. (And will
return them with a nice error code which is a perfect way to deal with
it in driver, been there, it works fine, once we fixed the races in the
USB host code itself, which I think we pretty much did by now).


What you propose is basically a slightly over-simplistic version of what
I think (and Paulus think) should be done. We do need to do it via
driver callbacks down the tree since only drivers can know how to deal
with their DMA etc... and ordering need to be respected, but that's
basically it.

And guess what ? It's what we do on powerbooks, and it works fine,
without a freezer :-)

Ben.


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

Messages in current thread:
[PATCH] Remove process freezer from suspend to RAM pathway, Matthew Garrett, (Mon Jul 2, 9:29 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Mon Jul 2, 10:48 pm)
Re: [linux-pm] [PATCH] Remove process freezer from suspend ..., Benjamin Herrenschmidt, (Mon Jul 2, 10:49 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Mon Jul 2, 10:51 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 12:19 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Tue Jul 3, 4:40 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Tue Jul 3, 4:44 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Tue Jul 3, 4:45 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 2:14 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 2:16 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 2:20 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 2:35 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 2:35 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 2:56 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Tue Jul 3, 4:08 pm)
The big suspend mess, Adrian Bunk, (Wed Jul 4, 3:19 pm)
Re: The big suspend mess, Pavel Machek, (Wed Jul 4, 5:27 pm)
Re: The big suspend mess, Paul Mackerras, (Wed Jul 4, 5:53 pm)
Re: The big suspend mess, Adrian Bunk, (Wed Jul 4, 6:22 pm)
Re: The big suspend mess, Pavel Machek, (Thu Jul 5, 2:32 am)
Re: The big suspend mess, Gabriel C, (Thu Jul 5, 3:29 am)
Re: The big suspend mess, Rafael J. Wysocki, (Thu Jul 5, 5:18 am)
Re: [linux-pm] The big suspend mess, Alan Stern, (Thu Jul 5, 7:14 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Jeremy Maitin-Shepard, (Thu Jul 5, 9:06 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Thu Jul 5, 3:38 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Thu Jul 5, 3:46 pm)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Thu Jul 5, 3:59 pm)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Thu Jul 5, 4:05 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Thu Jul 5, 4:20 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Thu Jul 5, 8:54 pm)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Jeremy Maitin-Shepard, (Thu Jul 5, 8:59 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Thu Jul 5, 8:59 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Thu Jul 5, 9:41 pm)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Rafael J. Wysocki, (Fri Jul 6, 12:04 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Rafael J. Wysocki, (Fri Jul 6, 12:13 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Rafael J. Wysocki, (Fri Jul 6, 12:16 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Rafael J. Wysocki, (Fri Jul 6, 12:20 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Rafael J. Wysocki, (Fri Jul 6, 12:35 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Rafael J. Wysocki, (Fri Jul 6, 12:40 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Fri Jul 6, 1:59 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Fri Jul 6, 2:03 am)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Fri Jul 6, 7:44 pm)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Fri Jul 6, 7:46 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Fri Jul 6, 8:44 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Fri Jul 6, 9:06 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sat Jul 7, 5:40 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sat Jul 7, 5:42 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sat Jul 7, 5:48 pm)
Re: [linux-pm] Re: [PATCH] Remove process freezer from sus ..., Benjamin Herrenschmidt, (Sat Jul 7, 5:50 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sat Jul 7, 9:39 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sat Jul 7, 10:14 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sat Jul 7, 10:19 pm)
Re: malicious filesystems (was Re: [linux-pm] Re: [PATCH] ..., Rafael J. Wysocki, (Sun Jul 8, 7:06 am)
Re: malicious filesystems (was Re: [linux-pm] Re: [PATCH] ..., Rafael J. Wysocki, (Sun Jul 8, 11:08 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Rafael J. Wysocki, (Sun Jul 8, 11:20 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Rafael J. Wysocki, (Sun Jul 8, 11:26 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Rafael J. Wysocki, (Sun Jul 8, 11:46 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Rafael J. Wysocki, (Sun Jul 8, 12:15 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sun Jul 8, 2:03 pm)
Re: malicious filesystems (was Re: [linux-pm] Re: [PATCH] ..., Rafael J. Wysocki, (Sun Jul 8, 2:07 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sun Jul 8, 2:20 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sun Jul 8, 2:21 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sun Jul 8, 2:54 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sun Jul 8, 5:33 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Sun Jul 8, 6:32 pm)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Mon Jul 9, 2:13 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Mon Jul 9, 2:14 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Mon Jul 9, 2:33 am)
Re: [PATCH] Remove process freezer from suspend to RAM pathway, Benjamin Herrenschmidt, (Mon Jul 9, 3:05 am)
Re: hibernation/snapshot design, Jeremy Maitin-Shepard, (Mon Jul 9, 8:23 am)
Re: sysrq-t dumps of s2ram/fuse deadlock, Jeremy Maitin-Shepard, (Wed Jul 11, 6:45 am)