aha/fs/btrfs
Chris Mason 9473f16c75 Btrfs: Throttle for async bio submits higher up the chain
The current code waits for the count of async bio submits to get below
a given threshold if it is too high right after adding the latest bio
to the work queue.  This isn't optimal because the caller may have
sequential adjacent bios pending they are waiting to send down the pipe.

This changeset requires the caller to wait on the async bio count,
and changes the async checksumming submits to wait for async bios any
time they self throttle.

The end result is much higher sequential throughput.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:04:07 -04:00
..
acl.c Btrfs: Add ACL support 2008-09-25 11:04:05 -04:00
async-thread.c Btrfs: Lower contention on the csum mutex 2008-09-25 11:04:06 -04:00
async-thread.h Btrfs: Give all the worker threads descriptive names 2008-09-25 11:04:06 -04:00
bit-radix.c Btrfs: trivial include fixups 2007-07-11 10:00:37 -04:00
bit-radix.h Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
btrfs_inode.h Get rid of BTRFS_I(inode)->index and use local vars instead 2008-09-25 11:04:06 -04:00
compat.h NFS support for btrfs - v3 2008-09-25 11:04:06 -04:00
COPYING Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
crc32c.h Btrfs: Add support for HW assisted crc32c 2008-09-25 11:04:06 -04:00
ctree.c btrfs_search_slot: reduce lock contention by cowing in two stages 2008-09-25 11:04:06 -04:00
ctree.h Btrfs: Rev the disk format 2008-09-25 11:04:06 -04:00
dir-item.c Btrfs: implement memory reclaim for leaf reference cache 2008-09-25 11:04:05 -04:00
disk-io.c Btrfs: Throttle for async bio submits higher up the chain 2008-09-25 11:04:07 -04:00
disk-io.h Btrfs: Wait for async bio submissions to make some progress at queue time 2008-09-25 11:04:06 -04:00
export.c Clean up btrfs_get_parent() a little more, fix a free-after-free bug 2008-09-25 11:04:06 -04:00
export.h NFS support for btrfs - v3 2008-09-25 11:04:06 -04:00
extent-tree.c Btrfs: Discard sector data in __free_extent() 2008-09-25 11:04:06 -04:00
extent_io.c Btrfs: Remove broken optimisations in end_bio functions. 2008-09-25 11:04:06 -04:00
extent_io.h Btrfs: Fix some data=ordered related data corruptions 2008-09-25 11:04:05 -04:00
extent_map.c Btrfs: Fix add_extent_mapping to check for duplicates across the whole range 2008-09-25 11:04:06 -04:00
extent_map.h Btrfs: Fix some data=ordered related data corruptions 2008-09-25 11:04:05 -04:00
file-item.c Btrfs: Lookup readpage checksums on bio submission again 2008-09-25 11:04:06 -04:00
file.c Btrfs: Maintain a list of inodes that are delalloc and a way to wait on them 2008-09-25 11:04:06 -04:00
hash.h Switch btrfs_name_hash() to crc32c 2008-09-25 11:04:06 -04:00
inode-item.c Btrfs: Implement new dir index format 2008-09-25 11:04:05 -04:00
inode-map.c Btrfs: Replace the big fs_mutex with a collection of other locks 2008-09-25 11:04:03 -04:00
inode.c Btrfs: Optimise NFS readdir hack slightly; don't call readdir() again when done 2008-09-25 11:04:06 -04:00
INSTALL Btrfs: Documentation update 2007-06-22 14:49:31 -04:00
ioctl.c Btrfs: Fix nodatacow for the new data=ordered mode 2008-09-25 11:04:06 -04:00
ioctl.h Btrfs: transaction ioctls 2008-09-25 11:04:03 -04:00
locking.c btrfs_search_slot: reduce lock contention by cowing in two stages 2008-09-25 11:04:06 -04:00
locking.h btrfs_search_slot: reduce lock contention by cowing in two stages 2008-09-25 11:04:06 -04:00
Makefile Switch btrfs_name_hash() to crc32c 2008-09-25 11:04:06 -04:00
ordered-data.c Btrfs: Fix nodatacow for the new data=ordered mode 2008-09-25 11:04:06 -04:00
ordered-data.h Btrfs: Fix nodatacow for the new data=ordered mode 2008-09-25 11:04:06 -04:00
orphan.c Btrfs: Create orphan inode records to prevent lost files after a crash 2008-09-25 11:04:05 -04:00
print-tree.c Btrfs: implement memory reclaim for leaf reference cache 2008-09-25 11:04:05 -04:00
print-tree.h Btrfs: Create extent_buffer interface for large blocksizes 2008-09-25 11:03:56 -04:00
ref-cache.c Btrfs: implement memory reclaim for leaf reference cache 2008-09-25 11:04:05 -04:00
ref-cache.h Btrfs: implement memory reclaim for leaf reference cache 2008-09-25 11:04:05 -04:00
root-tree.c Btrfs: Various small fixes. 2008-09-25 11:04:06 -04:00
struct-funcs.c Btrfs: unaligned access fixes 2008-09-25 11:04:00 -04:00
super.c Btrfs: Reinstate '-osubvol=.' option to mount entire tree 2008-09-25 11:04:06 -04:00
sysfs.c Btrfs: Disable sysfs files on older kernels 2008-09-25 11:04:00 -04:00
TODO Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
transaction.c Btrfs: Wait for async bio submissions to make some progress at queue time 2008-09-25 11:04:06 -04:00
transaction.h Btrfs: Various small fixes. 2008-09-25 11:04:06 -04:00
tree-defrag.c Btrfs: Online btree defragmentation fixes 2008-09-25 11:04:04 -04:00
version.sh Btrfs: Update version.sh to v0.16 2008-09-25 11:04:06 -04:00
volumes.c Btrfs: Throttle for async bio submits higher up the chain 2008-09-25 11:04:07 -04:00
volumes.h Btrfs: Fix the multi-bio code to save the original bio for completion 2008-09-25 11:04:06 -04:00
xattr.c Btrfs: Add ACL support 2008-09-25 11:04:05 -04:00
xattr.h xattr support for btrfs 2008-09-25 11:03:57 -04:00