Revision 1d9e2ae949411c2f329f30e01ea0355cd02c4296 authored by Chris Mason on 16 January 2009, 16:58:19 UTC, committed by Chris Mason on 16 January 2009, 16:58:19 UTC
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>

1 parent e293e97
History
File Mode Size
Kconfig -rw-r--r-- 29.1 KB
Makefile -rw-r--r-- 1.1 KB
calibrate.c -rw-r--r-- 5.0 KB
do_mounts.c -rw-r--r-- 8.9 KB
do_mounts.h -rw-r--r-- 1.3 KB
do_mounts_initrd.c -rw-r--r-- 3.2 KB
do_mounts_md.c -rw-r--r-- 7.9 KB
do_mounts_rd.c -rw-r--r-- 9.4 KB
initramfs.c -rw-r--r-- 12.7 KB
main.c -rw-r--r-- 21.1 KB
noinitramfs.c -rw-r--r-- 1.4 KB
version.c -rw-r--r-- 1.1 KB

back to top