On Mon, Apr 29, 2013 at 2:57 PM, Tejun Heo <tj@xxxxxxxxxx> wrote: > On Mon, Apr 29, 2013 at 02:51:57PM -0700, Tejun Heo wrote: >> I feel a bit weary of changes which try to optimize state checks for >> freezer because the synchronization rules are kinda fragile and things >> may not work reliably depending on who's testing the flag, and it has >> been subtly broken in various ways in the past (maybe even now). Can > > And BTW, this is why the function is only used when checking whether a > task is frozen rather than to decide to issue freeze_task() on it, and > it seems your change is correct now that we don't have per-task FREEZE > flag but I can't say I like the change. I'd really like to keep > things as dumb as possible for freezer. See the first patch in the series (which isn't available in the archive yet, so I can't link to it). The short version is that Android goes through suspend/resume very often (every few seconds when on a busy wifi network with the screen off), and a significant portion of the energy used to go in and out of suspend is spent in the freezer. This patch series takes the most common userspace sleep points and converts them to PF_FREEZER_SKIP, which reduces the number of context switches for every suspend or resume event on a freshly-booted Android device from 1000 to 25, and reduces the time spent freezing by a factor of 5. It will have a similar effect on a non-Android system, although those generally don't care about suspend/resume optimization. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers