public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] xfs: grant head concurrency experiment
@ 2019-10-14 18:12 Brian Foster
  2019-10-14 18:12 ` [RFC PATCH 1/3] xfs: temporarily bypass oneshot grant tail verification Brian Foster
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Brian Foster @ 2019-10-14 18:12 UTC (permalink / raw)
  To: linux-xfs

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


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

end of thread, other threads:[~2019-10-14 18:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-14 18:12 [RFC PATCH 0/3] xfs: grant head concurrency experiment Brian Foster
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox