Re: [linux-pm] Re: [PATCH] Remove process freezer from suspend to RAM pathway

Oliver Neukum
2007-07-05T10:03:11Z

Am Donnerstag, 5. Juli 2007 schrieb Miklos Szeredi:
> > > And teach VFS to block suspension, while waiting on a mutex held by
> > > another process performing a fuse operation.
> > >
> > > I can already hear the beautiful praise from Al Viro at the sight of
> > > that ;)
> >
> > There is that.
> >
> > OK, bite the bullet. Tasks involved in fuse are special. Give them a flag
> > and teach the freezer to put them on ice only after all other task are
> > frozen. In a way they are kernel, there's no use denying that.
>
> And flag every other process, that the flagged process is
> communicating with? How are you proposing to do that?
>
> Quoting Paul:
>
> "1. The freezer cannot be guaranteed deadlock-free without constructing
> a dependency graph between tasks (both user and kernel), which is
> virtually impossible since the dependencies are not externally
> observable."

A deadlock requires that the circular wait is uninterruptible. Normal IPC
isn't.

What are you doing in the userland portions of fuse? Some kind of IPC
with other tasks? There is a limit to which you can push kernel functionality
into user space.

Regards
Oliver