Btrfs: extent_io and extent_state optimizations
authorChris Mason <chris.mason@oracle.com>
Tue, 29 Jan 2008 14:59:12 +0000 (09:59 -0500)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:03:59 +0000 (11:03 -0400)
commit70dec8079d78691e476cc6c7cede40656078ad30
tree19ab80f247fc026c3f5a5713381e98372737227b
parentaadfeb6e39ad6bde080cb3ab23f4da57ccb25f4a
Btrfs: extent_io and extent_state optimizations

The end_bio routines are changed to take a pointer to the extent state
struct, and the state tree is walked in order to set/clear appropriate
bits as IO completes.  This greatly reduces the number of rbtree searches
done by the end_bio handlers, and reduces lock contention.

The extent_io releasepage function is changed to avoid expensive searches
for locked state.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/disk-io.c
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/inode.c