Re: Freezer Patches.

Nigel Cunningham
2005-06-02T07:25:17Z

Hi.

On Thu, 2005-06-02 at 17:14, Pavel Machek wrote:
> Hi!
>
> > > > > swsusp1 should not need any special casing of sync, right? We can
> > > > > simply do sys_sync(), then freeze, or something like that. We could
> > > > > even remove sys_sync() completely; it is not needed for correctness.
> >
> > Wrong. I guess you're only trying it on a machine that isn't actually
> > doing anything :). I've forgotten whether it was this freezer
> > implementation or the last, but we've been testing freezing processes
> > when the load average exceeds 100. If you have a thread that is syncing
> > and another that's submitting I/O continually (think dd, for example),
> > you want this.
>
> If sys_sync() is not working, *fix sys_sync()*. [BTW I see that
> problem before and I think it is being worked on.] I'm *not* going to
> work around it in refrigerator.

I'm not saying sys_sync is broken. I _am_ saying that if you have
processes submitting I/O while you're trying to sync, syncing will take
longer and you may well still end up with dirty buffers at the end. On
top of this, you may think freezing has failed because processes don't
enter the refrigerator within your timelimit (assuming you have one).

The simple, logic solution is to stop threads that are submitting I/O
before you stop threads that are syncing I/O.

Regards,

Nigel