From owner-cvs-all@FreeBSD.ORG Tue Apr 8 14:18:50 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C892037B408; Tue, 8 Apr 2003 14:18:47 -0700 (PDT) Received: from magic.adaptec.com (magic-mail.adaptec.com [208.236.45.100]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CE9443FB1; Tue, 8 Apr 2003 14:18:46 -0700 (PDT) (envelope-from scott_long@btc.adaptec.com) Received: from redfish.adaptec.com (redfish.adaptec.com [162.62.50.11]) by magic.adaptec.com (8.11.6/8.11.6) with ESMTP id h38LFbZ29036; Tue, 8 Apr 2003 14:15:37 -0700 Received: from btc.btc.adaptec.com (btc.btc.adaptec.com [10.100.0.52]) by redfish.adaptec.com (8.8.8+Sun/8.8.8) with ESMTP id OAA04871; Tue, 8 Apr 2003 14:17:09 -0700 (PDT) Received: from btc.adaptec.com (hollin [10.100.253.56]) by btc.btc.adaptec.com (8.8.8+Sun/8.8.8) with ESMTP id PAA02264; Tue, 8 Apr 2003 15:17:04 -0600 (MDT) Message-ID: <3E933BA5.3070708@btc.adaptec.com> Date: Tue, 08 Apr 2003 15:14:13 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.2b) Gecko/20021216 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alexander Leidinger References: <20030408172555.GA9572@freebie.xs4all.nl> <22238.1049823278@critter.freebsd.dk> <20030408202308.GA49094@tara.freenix.org> <20030408225931.052a8873.Alexander@Leidinger.net> In-Reply-To: <20030408172555.GA9572@freebie.xs4all.nl> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Wed, 09 Apr 2003 14:30:33 -0700 cc: cvs-src@freebsd.org cc: phk@phk.freebsd.dk cc: src-committers@freebsd.org cc: sos@freebsd.org cc: nate@root.org cc: Ollivier Robert cc: wkb@freebie.xs4all.nl cc: sos@spider.deepcore.dk cc: cvs-all@freebsd.org 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 X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Apr 2003 21:18:50 -0000 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