From: "Alan D. Brunelle" <Alan.Brunelle@hp.com>
To: john smith <whalajam@yahoo.com>
Cc: fio@vger.kernel.org
Subject: Re: io scheduler merges control
Date: Tue, 05 Jan 2010 11:32:59 -0500 [thread overview]
Message-ID: <1262709179.10727.36.camel@cail> (raw)
In-Reply-To: <31699.35262.qm@web55002.mail.re4.yahoo.com>
On Mon, 2010-01-04 at 17:53 -0800, john smith wrote:
> Alan,
>
> I've tried 'echo "1"> /sys/block/<dsf>/queue/nomerges' but
> fio/sequential-reads merges still occur and apparently they are only
> the simple ones that can't be disabled.
>
> 1) What can I change in the kernel to disable ALL the merges
> (including the simple ones)?
> (I tried setting iosched_cfq.ops.elevator_merge_fn,
> elevator_merged_fn, elevator_merge_req_fn, elevator_allow_merge_fn = 0
> but still fio reported merges)
Unfortunately, the "simple" ones were left in precisely because they
were (a) easy to do, and (b) were expected to happen often enough to
keep them in. Jens may be able to comment further.
I can look back to my original patch proposal (which includes nuking all
merge attempts) - basically: look at the code that follows "normerges"
and use the same test for the one-hit caching code will probably be
sufficient.
>
> 2) One other question I have is why one driver benefits of the io
> scheduler merges and the other doesn't?
> (Note that HDD's don't have any other io activity - aside from fio -
> and both are doing the same 512B sequential reads)
Are the I/O sizes the same (as reported by iostat)? It could simply be
that one driver/device is performing faster than the other? Would need
to get some good stat data from both drivers/devices to see what was
going on.
>
> 3) The third question is why the number of fio reported "merge"(s) is
> greater than the number of the "ios"?
Not sure about 'fio's output, but in general: if you have 'N' I/O
submissions and these are merged down into 'M' I/Os, then you could have
a large 'N/M' value (which should be about the number of merges done).
For example, if you are doing 512 byte read/writes and these are merged
into 512 K I/Os, you'll have 1000 merges for each I/O performed.
Regards,
Alan
next prev parent reply other threads:[~2010-01-05 16:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-24 19:12 io scheduler merges control john smith
2010-01-04 14:34 ` Alan D. Brunelle
2010-01-05 1:53 ` john smith
2010-01-05 16:32 ` Alan D. Brunelle [this message]
2010-01-11 13:54 ` Jens Axboe
2010-01-14 18:37 ` john smith
2010-01-20 16:18 ` Alan D. Brunelle
2010-01-20 23:57 ` john smith
2010-01-11 6:15 ` Gurudas Pai
2010-01-11 13:52 ` Jens Axboe
2010-01-04 14:52 ` Chris Worley
2010-01-05 0:27 ` john smith
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=1262709179.10727.36.camel@cail \
--to=alan.brunelle@hp.com \
--cc=fio@vger.kernel.org \
--cc=whalajam@yahoo.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.