linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH V2 0/4] Btrfs: introduce extent buffer cache to btrfs
@ 2012-09-26 11:22 Miao Xie
  2012-09-26 11:27 ` [RFC][PATCH V2 1/4] Btrfs: restructure btrfs_search_slot() Miao Xie
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Miao Xie @ 2012-09-26 11:22 UTC (permalink / raw)
  To: Linux Btrfs

This patchset introduce extent buffer cache to btrfs. The basic idea
is to reduce the search time and the contentions of the extent buffer
lock by re-using the last search result.

I ran stress.sh, xfstests and some other tools to test it, all of them
worked well.

As a performance improvement patchset, of course we did performance test.
Because this patchset is to improve the b+ tree search, in other words,
it improves the performance of the metadata operations, we use file creation
test to measure it. So we ran 10 tasks, and all of them created 100000 files
in their own directories at the same time. As the result, we found this patchset
makes btrfs ~20% faster(98s -> 77s).

we can pull this patchset from the URL

	git://github.com/miaoxie/linux-btrfs.git extent-buffer-cache

Thanks
Miao
---
Miao Xie (4):
      Btrfs: restructure btrfs_search_slot()
      Btrfs: introduce extent buffer cache for each i-node
      Btrfs: introduce extent buffer cache for delayed inode
      Btrfs: introduce extent buffer cache for delayed reference

 fs/btrfs/acl.c           |    1 -
 fs/btrfs/btrfs_inode.h   |    6 +-
 fs/btrfs/compression.c   |    1 -
 fs/btrfs/ctree.c         |  598 ++++++++++++++++++++++++++++++++++++---------
 fs/btrfs/ctree.h         |   32 +++-
 fs/btrfs/delayed-inode.c |   23 ++
 fs/btrfs/dir-item.c      |    2 +
 fs/btrfs/disk-io.c       |    2 +-
 fs/btrfs/export.c        |    1 -
 fs/btrfs/extent-tree.c   |    6 +
 fs/btrfs/extent_io.c     |    9 +-
 fs/btrfs/extent_io.h     |   38 +++
 fs/btrfs/file-item.c     |    4 +-
 fs/btrfs/file.c          |    5 +-
 fs/btrfs/inode-item.c    |   10 +-
 fs/btrfs/inode.c         |   36 +++-
 fs/btrfs/ioctl.c         |    1 -
 fs/btrfs/ordered-data.c  |    1 -
 fs/btrfs/relocation.c    |    1 -
 fs/btrfs/send.c          |    1 -
 fs/btrfs/super.c         |    1 -
 fs/btrfs/transaction.c   |   11 +
 fs/btrfs/transaction.h   |    4 +-
 fs/btrfs/tree-log.c      |    6 +-
 fs/btrfs/xattr.c         |    2 +-
 25 files changed, 651 insertions(+), 151 deletions(-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-10-09  7:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-26 11:22 [RFC][PATCH V2 0/4] Btrfs: introduce extent buffer cache to btrfs Miao Xie
2012-09-26 11:27 ` [RFC][PATCH V2 1/4] Btrfs: restructure btrfs_search_slot() Miao Xie
2012-09-26 11:37 ` [RFC][PATCH V2 2/4] Btrfs: introduce extent buffer cache for each i-node Miao Xie
2012-09-26 11:38 ` [RFC][PATCH V2 3/4] Btrfs: introduce extent buffer cache for delayed inode Miao Xie
2012-09-26 11:39 ` [RFC][PATCH V2 4/4] Btrfs: introduce extent buffer cache for delayed reference Miao Xie
2012-10-01 16:53 ` [RFC][PATCH V2 0/4] Btrfs: introduce extent buffer cache to btrfs Tim Chen
2012-10-09  7:32 ` Miao Xie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).