Any objections/comments on axing out old ATA stack?

Scott Long scottl at
Thu Mar 28 15:31:28 UTC 2013

On Mar 28, 2013, at 8:00 AM, Ian Lepore <ian at> wrote:

> On Thu, 2013-03-28 at 09:17 +0200, Alexander Motin wrote:
>> On 28.03.2013 02:43, Adrian Chadd wrote:
>>> My main concern with the new stuff is that it requires CAM and that's
>>> reasonably big compared to the standalone ATA code.
>>> It'd be nice if we could slim down the CAM stack a bit first; it makes
>>> embedding it on the smaller devices really freaking painful.
>> Are there many boards now with ATA, but without USB? But I agree, it 
>> should be checked.
> It's not necessarily what the boards have but how they're used.  We use
> industrial SBCs at work that have ata compact flash sockets on the board
> which we do use, and usb interfaces which we don't use.
> I've never tested the new ata+cam stuff on some of these boards, most
> based on Cyrix, Via, Geode, and VortexD86 chipsets.  The older ata code
> works, but not always very well -- for example, we usually have to set
> hw.ata.ata_dma=0 for absolutely no reason we've ever been able to figure
> out except that if we leave it enabled we get DMA errors and panics on
> some CF cards and not on others.  I have no idea whether to expect such
> things to be better, worse, or no different by changing to the ata+cam
> way of doing things (but I don't really have time to do extensive
> testing right now either).

The legacy ATA code was hard to maintain, very buggy (as you point out), and
is essentially unmaintained.  Also, IIRC, the legacy stack simply cannot support
NCQ tagged queueing.

I think that Alexander has done a superb job with both developing and supporting
the CAM_ATA stack.


More information about the freebsd-stable mailing list