mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Gérard Roudier" <groudier@free.fr>
To: Sven Heinicke <sven@research.nj.nec.com>
Cc: "Justin T. Gibbs" <gibbs@scsiguy.com>,
	Daniel Phillips <phillips@bonn-fries.net>,
	<linux-kernel@vger.kernel.org>
Subject: Re: With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P)
Date: Wed, 22 Aug 2001 15:06:29 +0200 (CEST)	[thread overview]
Message-ID: <20010822135854.H1225-100000@gerard> (raw)
In-Reply-To: <15234.58734.200740.952923@abasin.nj.nec.com>



On Tue, 21 Aug 2001, Sven Heinicke wrote:

> Justin,
>
> I've tried removing your check, for writing bonnie++ still reports
> slower write times then IDE drive on the other system.  Daniel Phillips
> was great at helping me notice a problem that was causing slow down
> but not related to the aic7xxx driver, thus I am now trying the
> 7.4.8-ac8 kernel.

If you are referring to sequential writes, then I may add the following
comments to this thread. :-)

Given a more-or-less single-threaded sequential disk write load, the
sending of ORDERED TAGS should not impact significantly performances,
unless actual IOs queuing is extremally misordered.

You will get best performances for single-threaded sequential write load
by relying on kernel sorting and coalescing rather than on the ability of
the disk to accept a large number of tagged commands. As the aic7xxx
driver wants to use the largest possible number of queued commands, it
justs hits the worst case for performances of sequential writes, in my
opinion. Having write behind caching enabled by the device also helps a
lot for sequential writes.

You should enabled write caching and give a try with tagged command
queuing disabled (or using a small queue depth for your drives). BUT, you
must make sure that the low-level driver doesn't announce some large queue
to upper layers and queues internally the IOs. If it does so, the kernel
will not be able to sort and coalesce IOs and the device will be queued
with bunches of very small IOs.

--
To Justin:

Unless I missed some recent development, Linux SCSI does not allow to
dynamically resize device queues. Your FreeBSD-CAM layer do as we know.

As a result, once a device queue depth has been announced under Linux, SIM
must queue commands internally if it wants to use a shorter actual queue
for this device. All the IOs that are deferred this way aren't seen by
parts that perform optimizations. Theses parts are obviously the kernel
block device and the device itself. This cannot be good for performances
in my opinion. On the other hand, there are still some pathes that may
scan sequentially device queues and io request queues in the kernel. As
you know better than me, you are using heaps under FreeBSD-CAM that have
the advantage of allowing to handle priorities and consume less CPU. But
CPU is cheap nowadays...

So, let me write again than using large device queues by default under
Linux is not desirable, in my opinion. Personnaly, I use a device queue
depth of 16 commands under Linux for my drives. Under FreeBSD, my driver
announces 64 and relies on CAM for shrinking this depth if CAM thinks it
is better. Btw, none of my drives are able to handle more than 64
simultaneous commands (the fastest one is a Cheetah Ultra-160).


> I made your change whe will get try to get my user to test the system
> with and without your change.
>
>      Sven
>
> Justin T. Gibbs writes:
>  > >Disk access is faster then before but still slower then the IDE
>  > >drive.  Any ideas?
>  >
>  > It could be the occasionall ordered tag that is sent to the drive to
>  > prevent tag starvation.  If you search in drivers/scsi/aic7xxx/aic7xxx_linux.c
>  > for "OTAG_THRESH" and make that if test always fail (add an "&& 0") you will
>  > have effectively disabled this feature.  I should probably make it an option
>  > that defaults to off.
>  >
>  > --
>  > Justin

Regards,
  Gérard.


  reply	other threads:[~2001-08-22 13:10 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-20  8:36 aic7xxx errors with 2.4.8-ac7 on 440gx mobo Yusuf Goolamabbas
2001-08-20  8:55 ` Cliff Albert
2001-08-20 10:37   ` Alan Cox
2001-08-20 10:56     ` Yusuf Goolamabbas
2001-08-20 10:56       ` Alan Cox
2001-08-20 11:13         ` Yusuf Goolamabbas
2001-08-20 11:09           ` Alan Cox
2001-08-20 16:43             ` Doug Ledford
2001-08-20 12:46     ` Stefan Fleiter
2001-08-20 15:19       ` Ville Herva
2001-08-20 20:33         ` Justin T. Gibbs
2001-08-20 16:45       ` Doug Ledford
2001-08-20 17:23         ` Stefan Fleiter
2001-08-20 20:28       ` Justin T. Gibbs
2001-08-21 20:24         ` Stefan Fleiter
2001-08-20 16:21     ` Cliff Albert
2001-08-20 17:23       ` Peter T. Breuer
2001-08-20 17:28         ` Cliff Albert
2001-08-20 20:27   ` Justin T. Gibbs
2001-08-20 20:45     ` Cliff Albert
2001-08-20 21:04       ` Cliff Albert
2001-08-20 21:09         ` Cliff Albert
2001-08-20 21:45           ` Justin T. Gibbs
2001-08-20 22:55             ` Cliff Albert
2001-08-21  0:36               ` Justin T. Gibbs
2001-08-21 15:34                 ` Gérard Roudier
2001-08-21 14:42             ` With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P) Sven Heinicke
2001-08-21 15:08               ` Daniel Phillips
2001-08-21 16:48               ` Sven Heinicke
2001-08-21 17:18                 ` Justin T. Gibbs
2001-08-21 17:26                 ` Daniel Phillips
2001-08-21 17:55                 ` Stephan von Krawczynski
2001-08-21 18:33                   ` Justin T. Gibbs
2001-08-22  6:46                     ` Jens Axboe
2001-08-22 13:24                       ` Justin T. Gibbs
2001-08-22 15:05                       ` With Daniel Phillips Patch David S. Miller
2001-08-22 18:21                         ` Gérard Roudier
2001-08-22 18:32                         ` Justin T. Gibbs
2001-08-22 18:32                         ` David S. Miller
2001-08-22 18:46                         ` David S. Miller
2001-08-22 19:41                           ` Justin T. Gibbs
2001-08-22 20:19                           ` David S. Miller
2001-08-22 21:07                           ` Gérard Roudier
2001-08-22 21:40                             ` Justin T. Gibbs
2001-08-22 23:09                             ` David S. Miller
2001-08-23  0:01                               ` Justin T. Gibbs
2001-08-23  0:40                               ` David S. Miller
2001-08-23  0:55                                 ` Justin T. Gibbs
2001-08-23  1:03                                   ` Matthew Jacob
2001-08-23  1:08                                 ` David S. Miller
2001-08-23  1:32                                   ` Justin T. Gibbs
2001-08-23  1:39                                   ` David S. Miller
2001-08-23  1:49                                     ` Justin T. Gibbs
2001-08-22 21:14                           ` David S. Miller
2001-08-22 21:14                           ` David S. Miller
2001-08-21 22:44                 ` With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P) Sven Heinicke
2001-08-22  0:58                   ` Daniel Phillips
2001-08-21 22:49                 ` Sven Heinicke
2001-08-22 13:06                   ` Gérard Roudier [this message]
2001-08-22 10:25               ` Marcelo Tosatti
2001-08-22 16:09               ` Sven Heinicke
2001-08-22 15:42                 ` Marcelo Tosatti
2001-08-29  7:30                   ` Andrey Nekrasov
2001-09-03 14:58                     ` Marcelo Tosatti
2001-08-22 20:25                 ` Sven Heinicke
2001-08-20 22:36           ` aic7xxx with 2.4.9 on 7899P Sven Heinicke
2001-08-20 21:44         ` aic7xxx errors with 2.4.8-ac7 on 440gx mobo Justin T. Gibbs
2001-08-20 21:48           ` Cliff Albert
2001-08-25  7:15           ` Cliff Albert

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=20010822135854.H1225-100000@gerard \
    --to=groudier@free.fr \
    --cc=gibbs@scsiguy.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillips@bonn-fries.net \
    --cc=sven@research.nj.nec.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 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®