Re: [RFC][PATCH -mm] PM: Do not sync from within the freezer during suspend to RAM

Rafael J. Wysocki
2007-07-05T11:21:56Z

On Thursday, 5 July 2007 00:52, Nigel Cunningham wrote:
> Hi.
>
> On Thursday 05 July 2007 08:49:42 Pavel Machek wrote:
> > On Thu 2007-07-05 08:48:15, Nigel Cunningham wrote:
> > > Hi.
> > >
> > > On Thursday 05 July 2007 00:58:58 Rafael J. Wysocki wrote:
> > > > From: Rafael J. Wysocki <rjw@sisk.pl>
> > > >
> > > > The syncing of filesystems from within the freezer in not needed for
> suspend
> > > to
> > > > RAM. Change freeze_processes() so that it doesn't execute sys_sync()
> and
> > > > introduce the "syncing" version of it to be called from the hibernation
> code
> > > > paths.
> > > >
> > > > Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
> > > > ---
> > > > include/linux/freezer.h | 14 ++++++++++++--
> > > > kernel/power/disk.c | 2 +-
> > > > kernel/power/main.c | 6 ++++++
> > > > kernel/power/process.c | 8 +++++---
> > > > kernel/power/user.c | 2 +-
> > > > 5 files changed, 25 insertions(+), 7 deletions(-)
> > >
> > > Looks ok, except that I wonder if you want the following fragment. It
> looks to
> > > me (looking at rc6) like with this code, you'll currently call sys_sync
> twice
> > > when suspending to ram. Maybe I'm misreading it. Also, shouldn't it be
> done
> > > after taking the mutex?
> >
> > sys_sync() should be okay to call, mutex or not.
>
> Yeah. That wasn't my point, sorry. Calling sys_sync is pointless if you're
> going to fail to take the mutex. It makes more sense to know you've got it
> before you start doing things related to actually suspending.

Well, that's a valid point, I'll move it under the mutex.

And why do you think it will be called twice?

Greetings,
Rafael

--
"Premature optimization is the root of all evil." - Donald Knuth