linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: linux-ide@vger.kernel.org,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@osdl.org>
Subject: Re: [PATCH] speed up SATA
Date: Sat, 27 Mar 2004 19:49:12 -0500	[thread overview]
Message-ID: <40662108.40705@pobox.com> (raw)
In-Reply-To: <4066191E.4040702@yahoo.com.au>

Nick Piggin wrote:
> Aside, you should make 2 or 4 tags the default though: that
> still gives you the pipelining without sacrificing latency
> and usibility.

I would rather have a sane block layer default, that works without my 
intervention :)

Ditto the max_sectors issue, the driver for the hardware w/ a 256-depth 
queue should attempt to queue up to the hardware maximum.  The block 
layer can be smart and limit things further from there...

IIRC the AIC7xxx driver sets the queue depth to 200+ on one of my 
drives.  That may be 2.4, though...


> The only area (I think) where large queues outperform the IO
> scheduler are lots of parallel, scattered reads. I think this
> is because the drive can immediately return cached data even
> though it looks like a large seek to the IO scheduler.
> (This is from testing on my single, old SCSI disk though.)

Most ATA drives have their own internal disk schedulers, and all of the 
major vendors seem to have done something useful with TCQ.  Newer drives 
definitely take advantage of the additional knowledge gained via 
knowledge of the entire queue rather than just a single request.

The parallel-reads case you mention is definitely a winner with TCQ, but 
writes are also, for ATA-specific reasons (among others):  since ATA has 
been one-command-at-a-time for so long, write caching became necessary 
for decent performance.  So ATA disks needed a decent internal IO 
scheduler, just maintain a decent level of performance.

TCQ-on-write for ATA disks is yummy because you don't really know what 
the heck the ATA disk is writing at the present time.  By the time the 
Linux disk scheduler gets around to deciding it has a nicely merged and 
scheduled set of requests, it may be totally wrong for the disk's IO 
scheduler.  TCQ gives the disk a lot more power when the disk integrates 
writes into its internal IO scheduling.

	Jeff




  reply	other threads:[~2004-03-28  0:49 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-27 22:37 [PATCH] speed up SATA Jeff Garzik
2004-03-27 23:04 ` Stefan Smietanowski
2004-03-27 23:11   ` Jeff Garzik
2004-03-28  7:23     ` Stefan Smietanowski
2004-03-28 15:37       ` Bartlomiej Zolnierkiewicz
2004-03-27 23:32   ` Bartlomiej Zolnierkiewicz
2004-03-27 23:36     ` Jeff Garzik
2004-03-27 23:40       ` Jeff Garzik
2004-03-28  0:13         ` Bartlomiej Zolnierkiewicz
2004-03-28  0:08           ` Jeff Garzik
2004-03-29 11:42       ` Pavel Machek
2004-03-27 23:37 ` Nick Piggin
2004-03-27 23:44   ` Jeff Garzik
2004-03-27 23:47     ` Nick Piggin
2004-03-27 23:59       ` Jeff Garzik
2004-03-28 14:10         ` Jens Axboe
2004-03-28 17:31           ` Jeff Garzik
2004-03-28 17:35             ` Jens Axboe
2004-03-28 17:48               ` Jeff Garzik
2004-03-28 17:54                 ` Jens Axboe
2004-03-28 18:08                   ` Jamie Lokier
2004-03-28 18:15                     ` Jens Axboe
2004-03-28 18:55                       ` Jeff Garzik
2004-03-29  8:09                         ` Jens Axboe
2004-03-29 12:41                           ` Jamie Lokier
2004-03-29 12:44                             ` Jens Axboe
2004-03-29 12:50                               ` Jamie Lokier
2004-03-29 13:05                               ` Arjan van de Ven
2004-03-29 13:08                                 ` Jens Axboe
2004-03-29 17:19                                 ` Craig I. Hagan
2004-03-29 18:19                           ` Jeff Garzik
2004-03-28 19:06                       ` Jeff Garzik
2004-03-28 18:12                   ` William Lee Irwin III
2004-03-28 18:17                     ` Jens Axboe
2004-03-28 18:30                     ` Bartlomiej Zolnierkiewicz
2004-03-28 18:30                       ` Jens Axboe
2004-03-28 18:45                         ` Bartlomiej Zolnierkiewicz
2004-03-28 18:59                           ` Jeff Garzik
2004-03-28 20:32                             ` Andrew Morton
2004-03-28 20:45                               ` Jeff Garzik
2004-03-29  0:55                             ` Andrea Arcangeli
2004-03-29  4:02                               ` Jeff Garzik
2004-03-29 13:04                                 ` Andrea Arcangeli
2004-03-29 19:45                                   ` Jeff Garzik
2004-03-30 11:09                                     ` Jens Axboe
2004-03-30 15:54                                       ` Timothy Miller
2004-03-30 16:20                                       ` Jeff Garzik
2004-03-30 18:05                                       ` Timothy Miller
2004-03-30 17:50                                         ` Jeff Garzik
2004-03-30 18:19                                           ` Timothy Miller
2004-03-29  4:29                               ` Wim Coekaerts
2004-03-29  7:32                                 ` Denis Vlasenko
2004-03-29  8:13                                 ` Jens Axboe
2004-03-29 13:05                                 ` Andrea Arcangeli
2004-03-29  4:31                               ` William Lee Irwin III
2004-03-29  4:57                               ` Jeff Garzik
2004-03-28 19:52                       ` Nuno Silva
2004-03-28 20:02                         ` Jeff Garzik
2004-03-28  0:06     ` Jeff Garzik
2004-03-28  0:15       ` Nick Piggin
2004-03-28  0:49         ` Jeff Garzik [this message]
2004-03-28  1:02           ` Andrew Morton
2004-03-28  1:09             ` Jeff Garzik
2004-03-28 13:59               ` Jens Axboe
2004-03-28 17:29                 ` Jeff Garzik
2004-03-28 17:31                   ` Jens Axboe
2004-03-28 13:51           ` Jamie Lokier
2004-03-28 17:24             ` Jeff Garzik
2004-03-28 17:36               ` Jamie Lokier
2004-03-28 17:54                 ` Jeff Garzik
2004-03-28 20:50                   ` Eric D. Mudama
2004-04-02 10:11                 ` Jeremy Higdon
2004-04-02 16:11                   ` Jamie Lokier
2004-04-03 10:48                     ` Jeremy Higdon
2004-04-03 13:49                       ` Jamie Lokier
2004-03-28 17:40               ` Jens Axboe
2004-03-28 17:49                 ` Jeff Garzik
2004-03-28 17:55                   ` Jens Axboe
2004-03-28 18:04                     ` Jeff Garzik
2004-03-28 18:09                       ` Jens Axboe
2004-03-28 20:12                         ` Jeff Garzik
2004-03-28 20:54                           ` Eric D. Mudama
2004-03-28  7:32       ` Stefan Smietanowski
2004-03-28 20:25         ` Jeff Garzik
2004-03-28 21:16           ` Stefan Smietanowski
2004-03-28 21:26             ` Jeff Garzik
2004-03-28 14:08     ` Jens Axboe
2004-03-28 17:38       ` Jeff Garzik
2004-03-28 17:45         ` Jens Axboe
2004-03-28 20:21       ` Jeff Garzik
2004-03-28  0:07   ` Andrew Morton
2004-03-28  0:21     ` Nick Piggin
2004-03-28  4:40   ` Eric D. Mudama
2004-03-28  6:56     ` Nick Piggin
2004-03-28 20:33       ` Eric D. Mudama
2004-03-28 20:59         ` Eric D. Mudama
2004-03-29  1:30           ` Nick Piggin
2004-03-29  5:24             ` Eric D. Mudama
2004-03-29 13:03               ` Jamie Lokier
2004-03-29 11:36 ` Pavel Machek
2004-03-29 18:46   ` David Lang
2004-03-29 20:13     ` Jeff Garzik
2004-03-30  5:55   ` Eric D. Mudama
2004-03-30 12:16 ` Marc Bevand

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=40662108.40705@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=akpm@osdl.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /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).