[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 7 Jul 2007 13:48:56 +0200
From: Pavel Machek <pavel@....cz>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: nigel@...pend2.net, rjw@...k.pl,
linux-pm@...ts.linux-foundation.org, benh@...nel.crashing.org,
linux-kernel@...r.kernel.org, mjg59@...f.ucam.org,
oliver@...kum.org, paulus@...ba.org, mingo@...e.hu
Subject: possible solution for problem 2 (was Re: [RFC][PATCH -mm] PM: Do not sync filesystems from within the freezer)
Hi!
> > > > To get more serious and practical though, I think the solution is to
> > > > fuzz the userspace/kernelspace distinction. What we really want to
> > > > do is freeze things that submit I/O, then sync, then freeze anything
> > > > that processes I/O and needs to be frozen. In effect, redefine fuse
> > > > processes as freezeable kernel threads.
> > >
> > > Another myth, that has been debunked already. The problem is: how do
> > > you define fuse processes? There's no theoretical or even practial
> > > way to do that.
> >
> > No theoretical or practical way?! I'll freely admit to being quite ignorant
> > about fuse, but surely there's some way by which they can be distinguished.
>
> How? OK, there are some tasks, that read and/or write /dev/fuse. And
> there are some that just communicate in some way with the above.
(Not that I'm advocating this, but:)
You could ask fused to identify tasks involved in fuse handling. "Hey,
fused, please give me list of PIDs".
Yes, that would be beyond ugly.
(I guess I'm advocating this:)
We probably can do variation on this. Notify fuse early that suspend
is comming, so we can wait for all the fused requests to be flushed
(/fusectl/*/waiting going to 0), and then just trap tasks trying to
communicate with fuse in a sane place (i.e. not a place where VFS
locks are held).
...I'm not saying this is a nice solution, but it should
work... right...? And should work for hibernation, too...?
(at this point, we still have problem 1: something in s2ram path
causes fuse to communicate with its frozen fused. It is not sync, so
what is it?)
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists