Re: Freezer Patches.

From: Benjamin Herrenschmidt
Date: Thu Jun 02 2005 - 02:39:58 EST


On Thu, 2005-06-02 at 09:31 +0200, Pavel Machek wrote:
> Hi!
>
> > > 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).
>
> Then simple launch sys_sync(), let it finish, *then* do
> refrigeration. That way sys_sync() does not count to the timelimit.
>
> Now, sys_sync() takes too long on some setups. That needs to be fixed,
> anyway; users don't like to wait for 15 minutes after typing
> "sync". Do not work around it in refrigerator.

Whatever you guys decide to do (I actually do sys_sync() before freezing
on pmac and yes, it takes sometimes way too long), to be uber-safe, we
could/should _also_ do sync after freezing userland processes and before
freezing kernel threads (that is, splitting here). In fact, that would
help also avoid deadlocks where a frozen kernel thread is holding a
semaphore preventing a process from freezing.

That way, if we sys_sync() once processes are sleeping and before kernel
threads are, we pretty-much make sure no new dirty buffer will appear.

Anyway, that's mostly food for thoughts at this point

Ben.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/