Browse Source

Btrfs: add a cond_resched() into the worker loop

If we have a constant stream of end_io completions or crc work,
we can hit softlockup messages from the async helper threads.  This
adds a cond_resched() into the loop to avoid them.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason 13 years ago
parent
commit
8f3b65a3d6
1 changed files with 1 additions and 1 deletions
  1. 1 1
      fs/btrfs/async-thread.c

+ 1 - 1
fs/btrfs/async-thread.c

@@ -331,7 +331,7 @@ again:
 			run_ordered_completions(worker->workers, work);
 
 			check_pending_worker_creates(worker);
-
+			cond_resched();
 		}
 
 		spin_lock_irq(&worker->lock);