diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2009-10-08 15:41:18 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2009-10-08 15:41:18 +1100 |
commit | 2ffb110ad2f0b8c9f2e3624f13ae5242969c7fd0 (patch) | |
tree | d078592a43f3031080572a9555c3adb783ee277e | |
parent | 13b884540dd940c877df786138bbad0a5ae986fb (diff) |
Revert "PM / freezer: Don't get over-anxious while waiting"
This reverts commit a48145a7cbf3b0555ba3ad61aaf2c38719bab95d.
-rw-r--r-- | kernel/power/process.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/kernel/power/process.c b/kernel/power/process.c index 66161f0d81a9..cc2e55373b68 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -41,7 +41,7 @@ static int try_to_freeze_tasks(bool sig_only) do_gettimeofday(&start); end_time = jiffies + TIMEOUT; - while (true) { + do { todo = 0; read_lock(&tasklist_lock); do_each_thread(g, p) { @@ -62,15 +62,10 @@ static int try_to_freeze_tasks(bool sig_only) todo++; } while_each_thread(g, p); read_unlock(&tasklist_lock); - if (!todo || time_after(jiffies, end_time)) + yield(); /* Yield is okay here */ + if (time_after(jiffies, end_time)) break; - - /* - * We need to retry, but first give the freezing tasks some - * time to enter the regrigerator. - */ - msleep(10); - } + } while (todo); do_gettimeofday(&end); elapsed_csecs64 = timeval_to_ns(&end) - timeval_to_ns(&start); |