From: Dave Chinner <david@fromorbit.com>
To: xfs@oss.sgi.com
Subject: [RFC, PATCH 0/7] XFS: dynamic busy extent tracking
Date: Wed, 8 Oct 2008 09:09:30 +1100 [thread overview]
Message-ID: <1223417377-8679-1-git-send-email-david@fromorbit.com> (raw)
The busy extent tracking in XFS is currently very static and has
some performance issues. We can only track 128 busy extents per AG,
and when we overflow this we fall back to synchronous transactions.
Also, every time we re-use a busy extent we cause a synchronous log
force, which stops all allocation and freeing in that AG while the
log force is in progress.
This limits the amount of transaction aggregation we can potentially
do because of the fact that we do log forces when a busy extent is
found which would effectively close off an aggregating transaction
group. It is relatively easy to trigger overflows or reuse of busy
extents and cause thіs to occur.
Further, when it comes to issuing block discard messages to tell the
lower layer that we're finished with a block, we need to track all
freed extents, not just those we can fit in a static array. Hence
adding block discard functionality to XFS also requires us to rework
the way we track busy extents.
This patch series is a work in progress. It's probably better to
look at the finished product rather than the inividual patches
because the later patches undo a lot of the earlier factoring and
shuffling. I'll need to completely redo the series before final
subbbmission. However, I'm posting this now because it passes XFSQA
and it seems to be a good time to post it for comments before I
start cleaning it up....
next reply other threads:[~2008-10-07 22:08 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-07 22:09 Dave Chinner [this message]
2008-10-07 22:09 ` [PATCH 1/7] XFS: rename xfs_get_perag Dave Chinner
2008-10-08 18:41 ` Christoph Hellwig
2008-10-07 22:09 ` [PATCH 2/7] XFS: replace fixed size busy extent array with an rbtree Dave Chinner
2008-10-08 18:49 ` Christoph Hellwig
2008-10-09 0:06 ` Dave Chinner
2008-10-07 22:09 ` [PATCH 3/7] XFS: Don't immediately reallocate busy extents Dave Chinner
2008-10-07 22:09 ` [PATCH 4/7] XFS: Don't use log forces when busy extents are allocated Dave Chinner
2008-10-07 22:09 ` [PATCH 5/7] XFS: Do not classify freed allocation btree blocks as busy Dave Chinner
2008-10-07 22:09 ` [PATCH 6/7] XFS: Avoid busy extent ranges rather than the entire extent Dave Chinner
2008-10-07 22:09 ` [PATCH 7/7] XFS: Simplify transaction busy extent tracking Dave Chinner
2008-10-09 18:17 ` [RFC, PATCH 0/7] XFS: dynamic " Martin Steigerwald
2008-10-09 22:33 ` Dave Chinner
2008-10-10 7:11 ` Martin Steigerwald
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=1223417377-8679-1-git-send-email-david@fromorbit.com \
--to=david@fromorbit.com \
--cc=xfs@oss.sgi.com \
/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