Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 08 Apr 2003 15:14:13 -0600
From:      Scott Long <scott_long@btc.adaptec.com>
To:        Alexander Leidinger <Alexander@leidinger.net>
Cc:        des@ofug.org
Subject:   Re: cvs commit: src/sys/dev/ata ata-all.c ata-all.hata-chipset.cata-dma.c ata-pci.c ata-pci.h
Message-ID:  <3E933BA5.3070708@btc.adaptec.com>
In-Reply-To: <20030408172555.GA9572@freebie.xs4all.nl>
References:  <20030408172555.GA9572@freebie.xs4all.nl> <22238.1049823278@critter.freebsd.dk> <20030408202308.GA49094@tara.freenix.org> <20030408225931.052a8873.Alexander@Leidinger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Alexander Leidinger wrote:

> On Tue, 8 Apr 2003 22:23:08 +0200
> Ollivier Robert  wrote:
>
>
> >According to Poul-Henning Kamp:
> >
> >>   Tagged queueing:
> >>	Ability to reduce transaction latency by sending more than one
> >>	request to the drive at a time.  The request may be handled out
> >>	of order by the drive.
> >>	(A good thing!)
> >
> >Except for softupdates which rely on its own ordering of writes...
>
>
> Softupdates has no problems with TQ AFAIK... (it reports back)
>
> Bye,
> Alexander.
>
The advantage that TQ gives you in the SCSI world is:

1.  The ability for the device to take in a bunch of commands at once,
     sort them internally to match the head/track/sector arrangement,
     and then pull the data in from the host in the optimal order.  It
     doesn't require any interaction with the Write Cache.  In fact,
     Write Cache is very undesirable in the high availibility and
     reliability space that SCSI occupies.
2.  In conjuction with (1), it implies Disconnection.  This is the
     ability of the device to release ownership of the bus while it does
     its job.  That frees the bus for other devices, or for more commands
     to the same device.  The multiple device argument doesn't matter
     much in the ATA world since you rarely put more than one drive on a
     channel, but it's a huge win in SCSI.  And, it helps keep down the
     working/spinning in the device driver.

I really have no insight into how ATA TQ works.  Since it's mostly a
software issue (as opposed to needing special silicon), the fact that
it never caught on in the ATA world either means that it was designed
poorly, or that it wasn't marketed right.
SCSI with TQ beats ATA in real-world tasks.  Sure, the venerable 'dd'
test might show that ATA wins, but how often are you reading multi-
megabyte contiguous files into /dev/null?  On the other hand, tasks
like cvsup are significantly faster with SCSI, especially when it's
doing something pathological like putting down a RELENG_X tag.

Scott



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E933BA5.3070708>