From: Dave Chinner <david@fromorbit.com>
To: Avi Kivity <avi@scylladb.com>
Cc: Eric Sandeen <sandeen@sandeen.net>,
"Darrick J. Wong" <darrick.wong@oracle.com>,
Gandalf Corvotempesta <gandalf.corvotempesta@gmail.com>,
linux-xfs@vger.kernel.org
Subject: Re: agcount for 2TB, 4TB and 8TB drives
Date: Sun, 15 Oct 2017 09:42:24 +1100 [thread overview]
Message-ID: <20171014224224.GD15067@dastard> (raw)
In-Reply-To: <86635b89-5016-5cd1-53a2-bf21b842ae04@scylladb.com>
On Fri, Oct 13, 2017 at 11:13:24AM +0300, Avi Kivity wrote:
> On 10/11/2017 01:55 AM, Dave Chinner wrote:
> >On Tue, Oct 10, 2017 at 12:07:42PM +0300, Avi Kivity wrote:
> >>On 10/10/2017 01:03 AM, Dave Chinner wrote:
> >>>>On 10/09/2017 02:23 PM, Dave Chinner wrote:
> >>>>>On Mon, Oct 09, 2017 at 11:05:56AM +0300, Avi Kivity wrote:
> >>>>>Sure, that might be the IO concurrency the SSD sees and handles, but
> >>>>>you very rarely require that much allocation parallelism in the
> >>>>>workload. Only a small amount of the IO submission path is actually
> >>>>>allocation work, so a single AG can provide plenty of async IO
> >>>>>parallelism before an AG is the limiting factor.
> >>>>Sure. Can a single AG issue multiple I/Os, or is it single-threaded?
> >>>AGs don't issue IO. Applications issue IO, the filesystem allocates
> >>>space from AGs according to the write IO that passes through it.
> >>What I meant was I/O in order to satisfy an allocation (read from
> >>the free extent btree or whatever), not the application's I/O.
> >Once you're in the per-AG allocator context, it is single threaded
> >until the allocation is complete. We do things like btree block
> >readahead to minimise IO wait times, but we can't completely hide
> >things like metadata read Io wait time when it is required to make
> >progress.
>
> I see, thanks. Will RWF_NOWAIT detect the need to do I/O for the
> free space btree, or just contention? (I expect the latter from the
> patches I've seen, but perhaps I missed something).
No, it checks at a high level whether allocation is needed (i.e. IO
into a hole) and if allocation is needed, it punts the IO
immediately to the background thread and returns to userspace. i.e.
it never gets near the allocator to begin with....
Like I said before, RWF_NOWAIT prevents entire classes of
AIO submission blocking issues from occuring. Use it and almost all
filesystem blocking concerns go away....
> The vast majority of the time XFS AIO works very well. The problem
> is that when problems do happen, performance drops of sharply, and
> it's often in a situation that's hard to debug.
Yes, and that's made worse by there being relatively few people
around with the knowledge to be able to find the the root cause when
it does happen. :/
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2017-10-14 22:42 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 8:46 agcount for 2TB, 4TB and 8TB drives Gandalf Corvotempesta
2017-10-06 15:38 ` Darrick J. Wong
2017-10-06 16:18 ` Eric Sandeen
2017-10-06 22:20 ` Dave Chinner
2017-10-06 22:21 ` Eric Sandeen
2017-10-09 8:05 ` Avi Kivity
2017-10-09 11:23 ` Dave Chinner
2017-10-09 15:46 ` Avi Kivity
2017-10-09 22:03 ` Dave Chinner
2017-10-10 9:07 ` Avi Kivity
2017-10-10 22:55 ` Dave Chinner
2017-10-13 8:13 ` Avi Kivity
2017-10-14 22:42 ` Dave Chinner [this message]
2017-10-15 9:36 ` Avi Kivity
2017-10-15 22:00 ` Dave Chinner
2017-10-16 10:00 ` Avi Kivity
2017-10-16 22:31 ` Dave Chinner
2017-10-18 7:31 ` Christoph Hellwig
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=20171014224224.GD15067@dastard \
--to=david@fromorbit.com \
--cc=avi@scylladb.com \
--cc=darrick.wong@oracle.com \
--cc=gandalf.corvotempesta@gmail.com \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@sandeen.net \
/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