Hi! > Instead of using the global timeout, we can use a more fine grained method of > checking if the freezing of tasks should fail. Namely, we can measure the time > in which no tasks have entered the refrigerator by counting the number of calls > to wait_event_timeout() in try_to_freeze_tasks() that have returned 0 (in a > row). > > After sending freeze requests to the tasks regarded as freezable > try_to_freeze_tasks() goes to sleep and waits until at least one task enters the > refrigerator. If the refrigerator is not entered by any tasks before WAIT_TIME > expires, try_to_freeze_tasks() increases the counter of expired timeouts and > sends freeze requests to the remaining tasks. If the number of expired timeouts > becomes greater than MAX_WAITS, the freezing of tasks fails (the counter of > expired timeouts is reset whenever a task enters the refrigerator). I do not get logic behind this. Old logic was "we give system 20 seconds to come into quiet state". New logic is "if we do no progress within second, we fail"... which is quite a big change. What happens on loaded ext3 filesystem, for example? Bunch of userland tasks will wait on data to be synced to disk, taking more than second, no? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm