From: Brian Foster <bfoster@redhat.com>
To: linux-xfs@vger.kernel.org
Subject: [RFC PATCH 0/3] xfs: grant head concurrency experiment
Date: Mon, 14 Oct 2019 14:12:57 -0400 [thread overview]
Message-ID: <20191014181300.15494-1-bfoster@redhat.com> (raw)
Hi all,
This series (which is RFC for obvious reasons) fell out of recent
discussion on Dave's CIL throttling work[1] over the raciness of the
lockless log reservation algorithm. I was originally exploring some
improved debug mode checks when I eventually determined that would be
pointless due to the fact that with small enough logs, grant tail
overrun conditions become prevalent.
This is currently suppressed by the XLOG_TAIL_WARN flag, which is
removed in patch 1 simply for experimentation and demonstration
purposes. These warnings would likely be mitigated some by threshold
tracking improvements to the warning itself, but the warnings were
continuous enough that didn't seem a useful approach. Patch 2 does some
minor refactoring and patch 3 ties grant space update failures into the
grant head check mechanism.
This has only seen limited testing to confirm that tail overruns are
significantly reduced on smaller logs (without noticeable performance
penalty) and that the newly added retry events are nonexistent on
filesystems with normal/default sized logs. The caveat is potential
change in ordering of transactions in some cases, but it's not clear
that's a problem given the loose enough nature of the current algorithm
with respect to the (limited) scope of transactions impacted by this
type of change. We could also look into whether something like adding
retried checks to the head of the list vs the tail would preserve group
ordering, etc. Anyways, thoughts on something like this?
Brian
[1] https://lore.kernel.org/linux-xfs/20191004022755.GY16973@dread.disaster.area/
Brian Foster (3):
xfs: temporarily bypass oneshot grant tail verification
xfs: fold grant space update into head check function
xfs: recheck free reservation on grant head update contention
fs/xfs/xfs_log.c | 58 +++++++++++++++++++++++++++++++++-------------
fs/xfs/xfs_trace.h | 1 +
2 files changed, 43 insertions(+), 16 deletions(-)
--
2.20.1
next reply other threads:[~2019-10-14 18:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-14 18:12 Brian Foster [this message]
2019-10-14 18:12 ` [RFC PATCH 1/3] xfs: temporarily bypass oneshot grant tail verification Brian Foster
2019-10-14 18:12 ` [RFC PATCH 2/3] xfs: fold grant space update into head check function Brian Foster
2019-10-14 18:13 ` [RFC PATCH 3/3] xfs: recheck free reservation on grant head update contention Brian Foster
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=20191014181300.15494-1-bfoster@redhat.com \
--to=bfoster@redhat.com \
--cc=linux-xfs@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox