From: Corrado Zoccolo <czoccolo@gmail.com>
To: Jeff Moyer <jmoyer@redhat.com>
Cc: Jan Kara <jack@suse.cz>,
jens.axboe@oracle.com, LKML <linux-kernel@vger.kernel.org>,
Chris Mason <chris.mason@oracle.com>,
Andrew Morton <akpm@linux-foundation.org>,
Mike Galbraith <efault@gmx.de>
Subject: Re: Performance regression in IO scheduler still there
Date: Tue, 10 Nov 2009 18:37:57 +0100 [thread overview]
Message-ID: <4e5e476b0911100937s31767d1dh52831126c5e8cf47@mail.gmail.com> (raw)
In-Reply-To: <x494op25ntp.fsf@segfault.boston.devel.redhat.com>
On Tue, Nov 10, 2009 at 5:47 PM, Jeff Moyer <jmoyer@redhat.com> wrote:
> Corrado Zoccolo <czoccolo@gmail.com> writes:
>
>> Jeff, Jens,
>> do you think we should try to do more auto-tuning of cfq parameters?
>> Looking at those numbers for SANs, I think we are being suboptimal in
>> some cases.
>> E.g. sequential read throughput is lower than random read.
>
> I investigated this further, and this was due to a problem in the
> benchmark. It was being run with only 500 samples for random I/O and
> 65536 samples for sequential. After fixing this, we see random I/O is
> slower than sequential, as expected.
Ok.
>> I also think that current slice_idle and slice_sync values are good
>> for devices with 8ms seek time, but they are too high for non-NCQ
>> flash devices, where "seek" penalty is under 1ms, and we still prefer
>> idling.
>
> Do you have numbers to back that up? If not, throw a fio job file over
> the fence and I'll test it on one such device.
>
It is based on reasoning.
Currently idling is based on the assumption that we can wait up to
10ms, to get a better request than jumping far away, since the jump
will likely cost more than that. If the jump costs around 1ms, like on
flash cards, then waiting 10ms is surely wasted time.
On the other hand, on flash cards a random write could cost 50ms or
more, so we will need to differentiate the last idle before switching
to async writes from the inter-read idles. This should be possible
with the new workload based infrastructure, but we need to measure
those characteristic times in order to use them in the heuristics.
>> If we agree on this, should the measurement part (I'm thinking to
>> measure things like seek time, throughput, etc...) be added to the
>> common elevator code, or done inside cfq?
>
> Well, if it's something that is of interest to others, than pushing it
> up a layer makes sense. If only CFQ is going to use it, keep it there.
If the direction is to have only one intelligent I/O scheduler, as the
removal of anticipatory indicates, then it is the latter. I don't
think noop or deadline will ever make any use of them.
But it could still be useful for reporting performance as seen by the
kernel, after the page cache.
Thanks
Corrado
>
> Cheers,
> Jeff
>
next prev parent reply other threads:[~2009-11-10 17:37 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-26 17:20 Jan Kara
2009-10-26 17:26 ` Jeff Moyer
2009-11-05 20:10 ` Jeff Moyer
2009-11-05 23:00 ` Corrado Zoccolo
2009-11-06 14:14 ` Jeff Moyer
2009-11-10 18:37 ` Jan Kara
2009-11-06 18:56 ` Jeff Moyer
2009-11-08 17:01 ` Corrado Zoccolo
2009-11-10 16:47 ` Jeff Moyer
2009-11-10 17:37 ` Corrado Zoccolo [this message]
2009-11-11 14:10 ` Jan Kara
2009-11-11 17:43 ` Jeff Moyer
2009-11-12 17:29 ` Jan Kara
2009-11-12 20:44 ` Jeff Moyer
2009-11-12 21:00 ` Jens Axboe
2009-11-12 21:05 ` Jeff Moyer
2009-11-13 7:45 ` Jens Axboe
2009-11-16 10:47 ` Jan Kara
2009-11-16 16:58 ` Jan Kara
2009-11-16 17:03 ` Jeff Moyer
2009-11-16 18:38 ` Corrado Zoccolo
2009-11-16 22:17 ` Jan Kara
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=4e5e476b0911100937s31767d1dh52831126c5e8cf47@mail.gmail.com \
--to=czoccolo@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=efault@gmx.de \
--cc=jack@suse.cz \
--cc=jens.axboe@oracle.com \
--cc=jmoyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
/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
all inboxes | Powered by JetHome®