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

From: Nigel Cunningham
Date: Wed Jul 04 2007 - 18:48:20 EST


Hi.

On Thursday 05 July 2007 00:58:58 Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rjw@xxxxxxx>
>
> 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@xxxxxxx>
> ---
> 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?

Regards,

Nigel

> @@ -231,6 +232,11 @@ static int enter_state(suspend_state_t s
>
> if (!valid_state(state))
> return -ENODEV;
> +
> + printk("Syncing filesystems ... ");
> + sys_sync();
> + printk("done.\n");
> +
> if (!mutex_trylock(&pm_mutex))
> return -EBUSY;
>


--
Nigel, Michelle and Alisdair Cunningham
5 Mitchell Street
Cobden 3266
Victoria, Australia

Attachment: pgp00000.pgp
Description: PGP signature