From: jeffm@suse.com
To: linux-btrfs@vger.kernel.org
Cc: Jeff Mahoney <jeffm@suse.com>
Subject: [PATCH 0/3] btrfs: trim latency improvements
Date: Thu, 6 Sep 2018 17:18:13 -0400 [thread overview]
Message-ID: <20180906211816.12121-1-jeffm@suse.com> (raw)
From: Jeff Mahoney <jeffm@suse.com>
This patch set fixes a few issues with trim.
1) Fix device list iteration. We're iterating the ->alloc_list while
holding the device_list_mutex. The ->alloc_list is protected by
the chunk mutex and we don't want to hold it across the entire
trim execution. Instead, use the ->devices list, which is protected
by the device_list_mutex.
2) Skip trim on devices that don't support it. Rather than letting
the block layer reject it, bounce out early.
3) Don't keep the commit_root_sem locked and the transaction pinned
across the block layer component of trim. We only need these to
ensure the pending chunks list doesn't go away underneath us, so
it's safe to drop across the trim itself. Historically, this
caused issues when fstrim and balance would run at the same time
since balance would produce lots of transactions and would
have to wait constantly, causing problems for everything else that
wanted to start a transaction.
-Jeff
---
Jeff Mahoney (3):
btrfs: use ->devices list instead of ->alloc_list in btrfs_trim_fs
btrfs: don't attempt to trim devices that don't support it
btrfs: keep trim from interfering with transaction commits
fs/btrfs/extent-tree.c | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
--
2.12.3
next reply other threads:[~2018-09-07 1:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-06 21:18 jeffm [this message]
2018-09-06 21:18 ` [PATCH 1/3] btrfs: use ->devices list instead of ->alloc_list in btrfs_trim_fs jeffm
2018-09-14 16:22 ` David Sterba
2018-09-06 21:18 ` [PATCH 2/3] btrfs: don't attempt to trim devices that don't support it jeffm
2018-09-14 16:27 ` David Sterba
2018-09-06 21:18 ` [PATCH 3/3] btrfs: keep trim from interfering with transaction commits jeffm
2018-09-14 16:28 ` David Sterba
2018-09-14 16:33 ` [PATCH 0/3] btrfs: trim latency improvements 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=20180906211816.12121-1-jeffm@suse.com \
--to=jeffm@suse.com \
--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.