Subject: Re: UVM/other problems for desktop users in current?
To: Daniel Carosone <email@example.com>
From: Manuel Bouyer <firstname.lastname@example.org>
Date: 12/18/2002 22:16:03
On Wed, Dec 18, 2002 at 06:33:27PM +1100, Daniel Carosone wrote:
> The main reason is that there's only one outstanding operation to
> the disk at once. SCSI disks, with tagged queueing, allow multiple
> outstanding requests, that the drive can respond to in the order
> that best suits its internal state (disk head position, mostly).
> So bandwidth is one thing, scattered transaction rate is another.
> Now, recent UDMA modes (I can't remember if it's in 5/100 or only
> 6/133) apparently also support this for IDE - but NetBSD isn't
> using the capability. I don't know that anyone else is either.
FreeBSD has it, I believe.
The problem is that the IDE interface only allows 31 concurent commands
(vs 256 for SCSI and I think even more for fiber channel), and IDE controllers
are quite stupid. Managing the disconnect/reselect will cost several
interrupts per transfers (vs one right now), while SCSI with good controllers
can manage several requests per interrupts.
I'm not sure the 31 concurent commands is worth the extra complexity in
the driver, and the extra interrupts. This is why it's low on my todo list.
I may work on this one day, but there are more to gain in other area first
(like in queing algorithms for I/O queues, or in UBC).
Manuel Bouyer <email@example.com>
NetBSD: 23 ans d'experience feront toujours la difference