mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 07:03:09 -04:00
Btrfs: Clear the device->running_pending flag before bailing on congestion
Btrfs maintains a queue of async bio submissions so the checksumming threads don't have to wait on get_request_wait. In order to avoid extra wakeups, this code has a running_pending flag that is used to tell new submissions they don't need to wake the thread. When the threads notice congestion on a single device, they may decide to requeue the job and move on to other devices. This makes sure the running_pending flag is cleared before the job is requeued. It should help avoid IO stalls by making sure the task is woken up when new submissions come in. Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
e293e97e36
commit
1d9e2ae949
1 changed files with 1 additions and 0 deletions
|
|
@ -220,6 +220,7 @@ loop:
|
|||
tail->bi_next = old_head;
|
||||
else
|
||||
device->pending_bio_tail = tail;
|
||||
device->running_pending = 0;
|
||||
|
||||
spin_unlock(&device->io_lock);
|
||||
btrfs_requeue_work(&device->work);
|
||||
|
|
|
|||
Loading…
Reference in a new issue