> > > > Yes, fuse could handle being frozen there. However that would only > > > > solve part of the problem: an operation waiting for a reply could be > > > > holding a VFS mutex and some other task may be blocked on that mutex. > > > > > > > > How would you solve freezing those tasks? > > > > > > OK, you made me reach for literatur on theoretical computer science. > > > > > > IMHO the range of actions a fuse server is inherently limited. > > > You must never ever block on a lock one of your clients is holding. In > > > this case the limitation is not influenced by the freezer. > > > > Obviously. But I wasn't about the server trying to acquire a lock > > held by a client. I was talking about a client trying to acquire a > > lock held by _another_ client. > > > > If this coincides with the server (or some other task which the server > > is depending on) being frozen before the clients, the freezer has a > > problem. > > True, but that case can only happen if servers are frozen before clients. > You don't need a full dependency graph. A simple set sequence of two > classes of tasks will do. Umm, let's take sshfs, it has a separate "reply processing thread", that reads replies from the sftp server and then wakes up the relevant request thread. The reply processing thread has no direct contact with the fuse kernel module. How is freezer supposed to know that that task in fact also belongs to the server and needs to be kept from freezing? Given, it's in the same thread group, but using that is a rather weak heuristic, as it could easily be a separate process, and likely in some filesystems it is. I fear, that your efforts to "save" the freezer are in vain. It is already moderately hackish with that PF_FREEZER_SKIP and the kernel dotted randomly with try_to_freeze() calls, but adding bandaids to try to order freezing userspace processes in the right order would just make it a horrible mess. Miklos _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm