[PATCH 0/3] PM, vfs: use filesystem freezing instead of kthread freezer

From: Jiri Kosina
Date: Fri Oct 30 2015 - 09:47:14 EST


This series is a followup to my proposal I brought up on Kernel Summit in
Seoul. Noone seemed to had any principal objections, so let's have wider
audience look into it.

In a nuthsell: freezing of kernel threads is horrible interface with
unclear semantics and guarantees, and I am surprised it ever worked
properly. Plus there are a lot of places that simply use it in a
completely wrong way (which is not suprising, given the lack of defined
semantics and requirements).

I've tested this over a series of suspend/resume cycles on several
machines with at least ext4, btrfs and xfs, and it survived the testing
without any harm.

Patch 1/3 implements the actual change, and has a more detailed
explanation on "why?" and "how?" questions in the changelog

Patch 2/3 nukes all (hopefully) the calls to freezer from kthreads
in Linus' tree (as of 858e904bd71)

Patch 3/3 introduces WARN_ON() if anyone is trying to make use of
this again

Open questions / discussion points:

- is the way I am traversing list of superblocks backwards enough to
guarantee correct ordering? Especially: does this work as intended for
FUSE?

- should freezable workqueues be dealt with the same way? I haven't even
started to look into them in a serious way, but it seems like the
drivers that are making use of them would actually like to use proper
PM callbacks instead

--
Jiri Kosina
SUSE Labs
--
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/