]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: reduce CPU usage in the extent_state tree
authorChris Mason <chris.mason@oracle.com>
Wed, 2 Sep 2009 17:24:36 +0000 (13:24 -0400)
committerChris Mason <chris.mason@oracle.com>
Fri, 11 Sep 2009 17:31:06 +0000 (13:31 -0400)
commitd4b5324881c4acff2f6bb581460f04d9c7adad57
tree4f43aea677f7206707540dd8622fa4cac099057a
parent80c745113311339237b89785439098aa816989a9
Btrfs: reduce CPU usage in the extent_state tree

Btrfs is currently mirroring some of the page state bits into
its extent state tree.  The goal behind this was to use it in supporting
blocksizes other than the page size.

But, we don't currently support that, and we're using quite a lot of CPU
on the rb tree and its spin lock.  This commit starts a series of
cleanups to reduce the amount of work done in the extent state tree as
part of each IO.

This commit:

* Adds the ability to lock an extent in the state tree and also set
other bits.  The idea is to do locking and delalloc in one call

* Removes the EXTENT_WRITEBACK and EXTENT_DIRTY bits.  Btrfs is using
a combination of the page bits and the ordered write code for this
instead.

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