From: Miklos S. <mi...@sz...> - 2013-02-11 10:11:49
|
On Mon, Feb 11, 2013 at 12:31 AM, Rafael J. Wysocki <rj...@si...> wrote: > On Sunday, February 10, 2013 07:55:05 PM Pavel Machek wrote: >> Well, from freezer you need: >> >> 1) user process frozen. >> >> 2) essential locks _not_ held so that block devices are still functional. >> >> > > > mmap... what is problem with mmap? For suspend, memory is powered, so >> > > > you can permit people changing it. >> > > >> > > Suppose mmap is used to make the registers of some device available to user >> > > space. Yes, that can happen. >> >> "Don't do it, then". Yes, can happen, but hopefully is not too common >> these days. [And... freezer doing 1) but not 2) would be enough to >> handle that. Freezer doing 1) but not 2) would also be simpler...] > > Again, I'm not sure what you mean. > > Are you trying to say that it would be OK to freeze user space tasks in > the D state? I think that's what Pavel is saying. Processes in D state sleeping on non-device mutexes _are_ actually OK to freeze. And that would nicely solve the fuse freeze problem. The only little detail is how do we implement that... Thanks, Miklos |