From: Martin Steigerwald <Martin@lichtvoll.de>
To: Jeff Moyer <jmoyer@redhat.com>
Cc: fio@vger.kernel.org, Jens Axboe <axboe@kernel.dk>
Subject: Re: Measuring IOPS
Date: Thu, 4 Aug 2011 10:51:15 +0200 [thread overview]
Message-ID: <201108041051.16366.Martin@lichtvoll.de> (raw)
In-Reply-To: <201108032250.30096.Martin@lichtvoll.de>
Am Mittwoch, 3. August 2011 schrieb Martin Steigerwald:
> Am Mittwoch, 3. August 2011 schrieb Martin Steigerwald:
> > Am Mittwoch, 3. August 2011 schrieben Sie:
> > > Martin Steigerwald <Martin@lichtvoll.de> writes:
> [...]
>
> > Does using iodepth > 1 need ioengine=libaio? Let´s see the manpage:
> > iodepth=int
> >
> > Number of I/O units to keep in flight against the
> > file. Note that increasing iodepth beyond 1 will
> > not affect synchronous ioengines (except for small
> > degress when verify_async is in use). Even async
> > engines my impose OS restrictions causing the
> > desired depth not to be achieved. This may happen
> > on Linux when using libaio and not setting
> > direct=1, since buffered IO is not async on that
> > OS. Keep an eye on the IO depth distribution in
> > the fio output to verify that the achieved depth
> > is as expected. Default: 1.
> >
> > Okay, yes, it does. I start getting a hang on it. Its a bit puzzling
> > to have two concepts of synchronous I/O around:
> >
> > 1) synchronous system call interfaces aka fio I/O engine
> >
> > 2) synchronous I/O requests aka O_SYNC
>
> But isn´t this a case for iodepth=1 if buffered I/O on Linux is
> synchronous? I bet most regular applications except some databases use
> buffered I/O.
Thanks a lot for your answers, Jens, Jeff, DongJin.
Now what about the above one?
In what cases is iodepth > 1 relevant, when Linux buffered I/O is
synchronous? For mutiple threads or processes?
One process / thread can only submit one I/O at a time with synchronous
system call I/O, but the function returns when the stuff is in the page
cache. So first why can´t Linux use iodepth > 1 when there is lots of stuff
in the page cache to be written out? That should help the single process
case.
On the mutiple process/threadsa case Linux gets several I/O requests from
mutiple processes/threads and thus iodepth > 1 does make sense?
Maybe it helps getting clear where in the stack iodepth is located at, is
it
process / thread
systemcall
pagecache
blocklayer
iodepth
device driver
device
? If so, why can´t Linux not make use of iodepth > 1 with synchronous
system call I/O? Or is it further up on the system call level? But then
what sense would it make there, when using system calls that are
asynchronous already?
(Is that ordering above correct at all?)
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
next prev parent reply other threads:[~2011-08-04 8:51 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-29 15:37 Measuring IOPS Martin Steigerwald
2011-07-29 16:14 ` Martin Steigerwald
2011-08-02 14:32 ` Measuring IOPS (solved, I think) Martin Steigerwald
2011-08-02 19:48 ` Jens Axboe
2011-08-02 21:28 ` Martin Steigerwald
2011-08-03 7:17 ` Jens Axboe
2011-08-03 9:03 ` Martin Steigerwald
2011-08-03 10:34 ` Jens Axboe
2011-08-03 19:31 ` Measuring IOPS Martin Steigerwald
2011-08-03 20:22 ` Jeff Moyer
2011-08-03 20:33 ` Martin Steigerwald
2011-08-04 7:50 ` Jens Axboe
2011-08-03 20:42 ` Martin Steigerwald
2011-08-03 20:50 ` Martin Steigerwald
2011-08-04 8:51 ` Martin Steigerwald [this message]
2011-08-04 8:58 ` Jens Axboe
2011-08-04 9:34 ` Martin Steigerwald
2011-08-04 10:02 ` Jens Axboe
2011-08-04 10:23 ` Martin Steigerwald
2011-08-05 7:28 ` Jens Axboe
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=201108041051.16366.Martin@lichtvoll.de \
--to=martin@lichtvoll.de \
--cc=axboe@kernel.dk \
--cc=fio@vger.kernel.org \
--cc=jmoyer@redhat.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