From: Vivek Goyal <vgoyal@redhat.com>
To: Corrado Zoccolo <czoccolo@gmail.com>
Cc: Kirill Afonshin <kirill_nnov@mail.ru>,
Jeff Moyer <jmoyer@redhat.com>,
Jens Axboe <jens.axboe@oracle.com>,
Linux-Kernel <linux-kernel@vger.kernel.org>,
Shaohua Li <shaohua.li@intel.com>,
Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Subject: Re: [PATCH] cfq-iosched: non-rot devices do not need read queue merging
Date: Thu, 7 Jan 2010 09:36:40 -0500 [thread overview]
Message-ID: <20100107143640.GB7664@redhat.com> (raw)
In-Reply-To: <4e5e476b1001070538y35143cc8me7443f3eb0d377@mail.gmail.com>
On Thu, Jan 07, 2010 at 02:38:29PM +0100, Corrado Zoccolo wrote:
> Hi Kirill,
> NCQ is actually measured, so it is reliable.
> Rotational can be wrong, but you can write to it (e.g. at machine
> startup) to obtain better handling of your disks.
> I am also a fan of auto-tuning, and trying to achieve it in cfq, but
> it is kind of complex, since there are many factors, and some of them
> aren't modeled by cfq currently.
> An example is that, on cheap SSDs or flash cards, small writes are far
> slower than anything else (they can take up to 0.5s), while a read
> will usually take less than 1ms. Currently, CFQ has no way to handle
> this extreme situation, since it uses just one idle value (8ms) for
> all transitions.
Hi Corrado,
How does idle time value relate to flash card being slower for writes? If
flash card is slow and we choose to idle on queue (because of direct
writes), idle time value does not even kick in. We just continue to remain
on same cfqq and don't do dispatch from next cfqq.
Idle time value will matter only if there was delay from cpu side or from
workload side in issuing next request after completion of previous one.
Thanks
Vivek
>
> Corrado
>
> On 1/7/10, Kirill Afonshin <kirill_nnov@mail.ru> wrote:
> > I think we should not rely on NCQ/non-NCQ or blk_queue_nonrot() because it
> > may be incorrect:
> > try this:
> >
> > find /sys/ -name rotational 2>/dev/null
> > find /sys/ -name rotational 2>/dev/null|xargs cat
> >
> > all devices are reported as rotational for me including ram, loop and usb
> > flash drive. Physical block size and optimal io size has invalid values for
> > all my usb flash drives.
> >
> > I think it would be better to do a short performance test before mount. It
> > will provide all necessary information for io scheduler. We doesn't need
> > information about NCQ and rotational. We need to predict how much time
> > specific io operation will take in current context.
> >
> > PS: I'm not native speaker.
> >
> > Best regards,
> > Kirill Afonshin
> >
next prev parent reply other threads:[~2010-01-07 14:36 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-30 12:10 [PATCH] cfq-iosched: non-rot devices do not need queue merging Corrado Zoccolo
2009-12-30 18:45 ` Jens Axboe
2009-12-30 20:31 ` Corrado Zoccolo
2009-12-30 21:11 ` Jens Axboe
2009-12-30 21:21 ` Corrado Zoccolo
2009-12-30 21:34 ` Jens Axboe
2009-12-30 22:22 ` [PATCH] cfq-iosched: non-rot devices do not need read " Corrado Zoccolo
2010-01-04 14:47 ` Vivek Goyal
2010-01-04 16:36 ` Corrado Zoccolo
2010-01-04 16:51 ` Jeff Moyer
2010-01-04 18:32 ` Vivek Goyal
2010-01-04 18:37 ` Corrado Zoccolo
2010-01-04 18:51 ` Vivek Goyal
2010-01-04 19:04 ` Jeff Moyer
2010-01-04 20:37 ` Corrado Zoccolo
2010-01-05 14:58 ` Jeff Moyer
2010-01-05 15:13 ` Vivek Goyal
2010-01-05 21:19 ` Jeff Moyer
2010-01-05 21:48 ` Corrado Zoccolo
2010-01-07 10:56 ` Kirill Afonshin
2010-01-07 13:38 ` Corrado Zoccolo
2010-01-07 14:36 ` Vivek Goyal [this message]
2010-01-07 17:00 ` Corrado Zoccolo
2010-01-07 18:37 ` Vivek Goyal
2010-01-07 20:16 ` Corrado Zoccolo
2010-01-08 18:53 ` Vivek Goyal
2010-01-10 12:55 ` Corrado Zoccolo
2010-01-10 21:04 ` [PATCH] cfq-iosched: NCQ SSDs " Corrado Zoccolo
2010-01-10 21:08 ` Corrado Zoccolo
2010-01-11 11:25 ` Jeff Garzik
2010-01-11 12:26 ` Corrado Zoccolo
2010-01-11 13:13 ` Jens Axboe
2010-01-11 13:18 ` Jeff Garzik
2010-01-11 13:24 ` Jens Axboe
2010-01-11 14:53 ` Corrado Zoccolo
2010-01-11 16:44 ` Vivek Goyal
2010-01-11 17:00 ` Corrado Zoccolo
2010-01-11 17:07 ` Vivek Goyal
2010-01-11 19:05 ` Corrado Zoccolo
2010-01-11 17:11 ` Vivek Goyal
2010-01-11 19:09 ` Corrado Zoccolo
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=20100107143640.GB7664@redhat.com \
--to=vgoyal@redhat.com \
--cc=czoccolo@gmail.com \
--cc=guijianfeng@cn.fujitsu.com \
--cc=jens.axboe@oracle.com \
--cc=jmoyer@redhat.com \
--cc=kirill_nnov@mail.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=shaohua.li@intel.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.