Subject: Re: CF/IDE performance problem...
To: Warner Losh <firstname.lastname@example.org>
From: Matthew Orgass <email@example.com>
Date: 11/26/2005 17:50:26
On 2005-11-22 firstname.lastname@example.org wrote:
> As someone who deals with CF on a daily basis in many different
> products, I can tell you that there are many CF cards that do report
> DMA capability when DMARQ isn't connected on old CF<->IDE adapters.
> This leads to lots of failures when DMA is enabled by the host (either
> BIOS or OS). These cards are non-conformant, since the IDE adapters
> do not have DMARQ connected (newer ones do, however). Relying on this
> part of the spec being implemented correctly is asking for trouble.
The fallback code worked, the only problem there was me not knowing that
this was an issue :/. The adaptor I used is a currently shipping model
and while looking for one that supports DMA I found several more that did
not. This is unfortunate, since there are now inexpensive 1GB CF cards
that (claim to) support UDMA mode 4, which should make a useful drive that
is more tolerant of frequent power cycles than rotating drives.
I filed kern/32169 with a patch to detect PIO modes 1 and 2, which I
suspect would solve the performance problem with the Hitachi controller
with most IDE controllers (unfortunately, my viaide controller doesn't
support these modes, but I think it isn't worth another flag to work
around combinations of broken hardware).