Re: [RFC][PATCH -mm][Experimental] swsusp: freeze userspace processes first

Rafael J. Wysocki
2006-02-01T20:13:56Z

Hi,

[Sorry, I was unable to respond earlier.]

On Wednesday 01 February 2006 11:55, Pavel Machek wrote:
> > This is an experimantal patch aimed at the "unable to freeze processes under
> > load" problem.
> >
> > On my box the 2.6.16-rc1-mm4 kernel with this patch applied survives the
> > "dd if=/dev/hda of=/dev/null" test.
>
> What filesystem? ext2 vs. ext3 is very different.

Just the entire disk.

> I can fix ext2 by
> just upping the timeout. ext3 is harder, because of the journalling
> thread. Maybe I'll take the sledgehammer approach and just freeze all
> the user tasks first... I tried to do the "small" approach and just
> fix the journalling code...
>
> I'm not sure what problem the usermodehelper code is trying to
> solve... why are usermodehelpers special?

They may be waited for uninterruptilby, so we can get an unfreezable proces
if we freeze one of them.

Actually I think I made a mistake here, since call_usermodehelper_keys()
should return -EBUSY rather than 0 when freezing_processes is non-zero
(if we return 0, the caller gets confused, because it assumes the call has
happend and has been successful, which is wrong).

Greetings,
Rafael