Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Mar 2000 17:35:48 -0600
From:      Sitaram Iyer <ssiyer@cs.rice.edu>
To:        freebsd-hackers@FreeBSD.org
Subject:   ATA-disk question
Message-ID:  <20000311173548.A1570@cs.rice.edu>

next in thread | raw e-mail | index | archive | help
(kernel 4.0-20000208-CURRENT)

I have a question about adstrategy() in ata-disk.c: it says

	bufqdisksort() -- which appends to the drive queue using CSCAN,

and immediately, without a check for adp->active, there is

	ad_start() -- which removes it from there and puts it into the
		      controller queue, thereby nullifying CSCAN's effect
		      completely (drive queue length always = 0 or 1) and
		      blowing up the controller TAILQ to occasional spurts
		      with tens of requests (I measured this).

on browsing through cvsweb, I find that such a check used to be there
earlier ( bufqdisksort(&adp->queue, bp); if (!adp->active) ad_start(adp); )
till "1.14 Fri Jun 25 9:02:59 1999 UTC by sos" (the 9th ATA update), and the
only thing in the commit log that's making sense to me is:

	"The disk driver has been changed a bit to prepare for tagged
	queing, which is next on my list." -- sos

What's the exact rationale behind doing away with CSCAN? is it temporary?
Its not entirely clear to me how "tagged queueing" (whatever that is) would
remedy the fact that requests are taken away from drive queues as soon as
they're put there.

Hoping for enlightenment,

-- 
Sitaram Iyer <ssiyer@cs.rice.edu>    http://www.cs.rice.edu/~ssiyer/
Phone (off)  713-348-2265 (rice xBANK)
      (home) 713-383-6279 (713-EVE-MARY), and if that *keeps ringing*, then
             713-799-8980 (my other residential line)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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