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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.