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>