Lines Matching refs:of
1 Freezing of tasks
4 I. What is the freezing of tasks?
6 The freezing of tasks is a mechanism by which user space processes and some
19 Namely, as the first step of the hibernation procedure the function
29 'frozen' and therefore the set of functions handling this mechanism is referred
43 calling try_to_freeze(). The main loop of a freezable kernel thread may look
57 initiated a freezing operation, the freezing of tasks will fail and the entire
59 threads must call try_to_freeze() somewhere or use one of the
68 Rationale behind the functions dealing with freezing and thawing of tasks:
80 anything special in between thawing of kernel threads and thawing of
81 userspace tasks, or if we want to postpone the thawing of userspace tasks
91 PF_NOFREEZE for itself by calling set_freezable() (the resetting of PF_NOFREEZE
97 Generally speaking, there is a couple of reasons to use the freezing of tasks:
100 hibernation. At the moment we have no simple means of checkpointing
104 filesystem-related information that must be consistent with the state of the
110 The majority of these are user space processes, but if any of the kernel threads
113 2. Next, to create the hibernation image we need to free a sufficient amount of
114 memory (approximately 50% of available RAM) and we need to do that before
119 amounts of memory from their .suspend() callbacks before hibernation, but this
123 from interfering with the suspending and resuming of devices. A user space
125 example, be troublesome and without the freezing of tasks we would need some
128 Although Linus Torvalds doesn't like the freezing of tasks, he said this in one
129 of the discussions on LKML (http://lkml.org/lkml/2007/4/27/608):
136 s2ram with some devices in the middle of a DMA. So we want to be able to
138 user threads and then waiting for a sync is practically one of the easier
157 to achieve without the freezing of tasks. Consider, for example, a process
160 may notice that the number of CPUs has changed and may start to work incorrectly
161 because of that.
163 V. Are there any problems related to the freezing of tasks?
167 First of all, the freezing of kernel threads may be tricky if they depend one
173 Second, there are the following two problems related to the freezing of user
178 now doing the sorts of things that kernel threads do
187 There are also problems that the freezing of tasks tends to expose, although
191 at this point. So, seemingly, the failure is due to the freezing of tasks.
194 request_firmware() will fail regardless of whether or not the freezing of tasks
195 is used. Consequently, the problem is not really related to the freezing of
206 First of all, grabbing the 'pm_mutex' lock to mutually exclude a piece of code
208 If possible, that piece of code must instead hook onto the suspend/hibernation
224 So, to summarize, use [un]lock_system_sleep() instead of directly using
229 all user space processes or all freezable kernel threads, in unit of millisecond.
230 The default value is 20000, with range of unsigned integer.