linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Mudama, Eric" <eric_mudama@maxtor.com>
To: "'Bill Davidsen'" <davidsen@tmr.com>,
	Oleg Drokin <green@namesys.com>, Jeff Garzik <jgarzik@pobox.com>
Cc: "'Jens Axboe'" <axboe@suse.de>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: RE: 2.5.69, IDE TCQ can't be enabled
Date: Tue, 13 May 2003 14:28:29 -0600	[thread overview]
Message-ID: <785F348679A4D5119A0C009027DE33C102E0D345@mcoexc04.mlm.maxtor.com> (raw)


-----Original Message-----
From: Bill Davidsen [mailto:davidsen@tmr.com]
Sent: Tuesday, May 13, 2003 2:05 PM
To: Oleg Drokin; Jeff Garzik; Mudama, Eric
Cc: 'Jens Axboe'; Alan Cox; Linux Kernel Mailing List
Subject: Re: 2.5.69, IDE TCQ can't be enabled

>On Mon, 12 May 2003, Mudama, Eric wrote:
>
>> TCQ shouldn't benefit writes significantly from a performance perspective
if
>> the drive is reasonably smart.  TCQ *will* have a huge performance
>> improvement for random reads since the drive can order responses based on
>> minimal rotational latency.
>> 
>> Increasing queue depth reduces the average seek time between commands,
both
>> in distance and rotational latency.  Provided a drive doesn't do dumb
stuff
>> like we discussed earlier, then it should be good.
>
>One problem which seems probable is that the drive knows less about the
>system than the o/s (I hope!) and therefore it can only optimize the order
>of i/o for most i/o in the shortest time. It would seem that the deadline
>scheduler benefits from doing not the quickest thing but the correct thing
>in terms of ordering. I believe that once the i/o is queued (assuming the
>drive works right) the drive makes the decision about i/o order. That may
>be the wrong thing to do under load, and starve some processes.

The general case we use is to optimize for maximum ops-per-second.  The
potential benefit from queueing is indicated by the delta between random
write performance (cached operations we can order for performance) versus
random read performance (cache misses we can't choose the order of).  In a
virtual drive with near-infinite queue depth, rotational latency completely
factors out so the you get equal ops/sec from a 7200 RPM drive as you do
from a 15K RPM drive.  That is what we are shooting for.

>There was discussion recently about limiting the requests with SCSI, for
>just this reason.
>
>Unless there's a *lot* of gain from doing TCQ, perhaps this should either
>wait, be dropped, or only be enabled for a whitelist of known actually
>functional drives. Seems like a poor risk to benefit ratio if it doesn't
>work just right, and perhaps this should go on the "it seemed like a good
>idea at the time" pile. There's nothing the code can do to guard against
>bad drive firmware except not use it.

I am working here to test usability with TCQ on our prototypes so I can
evaluate these sorts of queue depth issues and whether I think we're doing
the right stuff algorithmically in the drive.  Hopefully some of my effort
helps.

--eric

             reply	other threads:[~2003-05-13 20:16 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-13 20:28 Mudama, Eric [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-05-13 20:43 2.5.69, IDE TCQ can't be enabled Mudama, Eric
2003-05-13 20:31 Mudama, Eric
2003-05-13 20:34 ` Andre Hedrick
2003-05-12 19:19 Mudama, Eric
2003-05-12 19:35 ` Jeff Garzik
2003-05-12 19:42   ` Jens Axboe
2003-05-12 19:44     ` Jens Axboe
2003-05-12 19:53     ` Jeff Garzik
2003-05-13  6:40       ` Jens Axboe
2003-05-13 18:00         ` Dave Jones
2003-05-13 18:03           ` Jens Axboe
2003-05-13 18:05             ` Jeff Garzik
2003-05-13 18:06               ` Jens Axboe
2003-05-13 18:13                 ` Jens Axboe
2003-05-13 18:42                   ` Jeff Garzik
2003-05-13 20:29                     ` Andre Hedrick
2003-05-14  7:04                       ` Jens Axboe
2003-05-14  7:15                     ` Jens Axboe
2003-05-13 20:03                   ` Andre Hedrick
2003-05-13 22:55                     ` Alan Cox
2003-05-13 18:03           ` Jeff Garzik
2003-05-14 13:30           ` Henning P. Schmiedehausen
2003-05-12 22:36     ` Christer Weinigel
2003-05-13  6:41       ` Jens Axboe
2003-05-13 20:04 ` Bill Davidsen
2003-05-12 17:58 Mudama, Eric
2003-05-12 18:59 ` Jens Axboe
2003-05-12 19:42 ` Jeff Garzik
2003-05-10  1:38 lkhelp
2003-05-12 12:46 ` Oleg Drokin
2003-05-12 12:55   ` Oliver Neukum
2003-05-12 13:16     ` Bartlomiej Zolnierkiewicz
2003-05-12 13:12       ` Alan Cox
2003-05-13 15:39         ` Jens Axboe
2003-05-12 13:22       ` Oleg Drokin
2003-05-12 13:23         ` Jens Axboe
2003-05-12 13:35           ` Jeff Garzik
2003-05-12 13:30         ` Bartlomiej Zolnierkiewicz
2003-05-12 13:22       ` Jens Axboe
2003-05-13 15:32       ` Jens Axboe
2003-05-13 17:25         ` Oliver Neukum
2003-05-13 17:28           ` Jens Axboe
2003-05-13 18:46             ` Oliver Neukum
2003-05-13 19:06               ` 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=785F348679A4D5119A0C009027DE33C102E0D345@mcoexc04.mlm.maxtor.com \
    --to=eric_mudama@maxtor.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=axboe@suse.de \
    --cc=davidsen@tmr.com \
    --cc=green@namesys.com \
    --cc=jgarzik@pobox.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;
as well as URLs for NNTP newsgroup(s).