From: fdmanana@kernel.org
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 0/5] btrfs: avoid some block group rbtree lock contention
Date: Wed, 13 Apr 2022 16:20:38 +0100 [thread overview]
Message-ID: <cover.1649862853.git.fdmanana@suse.com> (raw)
From: Filipe Manana <fdmanana@suse.com>
This patchset allows for better concurrency when accessing the red black
tree of block groups, which is used very frequently and most accesses are
read-only, as well as avoid some unnecessary searches in the tree during
NOCOW writes. Details in the changelogs.
Filipe Manana (5):
btrfs: remove search start argument from first_logical_byte()
btrfs: use rbtree with leftmost node cached for tracking lowest block group
btrfs: use a read/write lock for protecting the block groups tree
btrfs: return block group directly at btrfs_next_block_group()
btrfs: avoid double search for block group during NOCOW writes
fs/btrfs/block-group.c | 130 ++++++++++++++++++++----------------
fs/btrfs/block-group.h | 5 +-
fs/btrfs/ctree.h | 5 +-
fs/btrfs/disk-io.c | 5 +-
fs/btrfs/extent-tree.c | 29 ++++----
fs/btrfs/free-space-cache.c | 2 +-
fs/btrfs/free-space-tree.c | 2 +-
fs/btrfs/inode.c | 26 +++++---
fs/btrfs/transaction.c | 4 +-
9 files changed, 114 insertions(+), 94 deletions(-)
--
2.35.1
next reply other threads:[~2022-04-13 15:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-13 15:20 fdmanana [this message]
2022-04-13 15:20 ` [PATCH 1/5] btrfs: remove search start argument from first_logical_byte() fdmanana
2022-04-13 15:20 ` [PATCH 2/5] btrfs: use rbtree with leftmost node cached for tracking lowest block group fdmanana
2022-04-13 15:20 ` [PATCH 3/5] btrfs: use a read/write lock for protecting the block groups tree fdmanana
2022-04-13 15:20 ` [PATCH 4/5] btrfs: return block group directly at btrfs_next_block_group() fdmanana
2022-04-13 15:20 ` [PATCH 5/5] btrfs: avoid double search for block group during NOCOW writes fdmanana
2022-04-15 12:39 ` [PATCH 0/5] btrfs: avoid some block group rbtree lock contention Nikolay Borisov
2022-04-19 12:46 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1649862853.git.fdmanana@suse.com \
--to=fdmanana@kernel.org \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.