Re: Kernel Summit request for Discussion of future of ATA (libata)and IDE

From: Jeff Garzik
Date: Mon Aug 04 2008 - 16:38:32 EST


Robert Hancock wrote:
Alan Cox wrote:
* There are still corner case in libata core - PIO is dead slow
compared to drivers/ide/,

There are two there - libata keeps IRQs blocked for longer in PIO mode as
well which is a factor for realtime that needs looking at, as well as
using 16bit not 32bit I/O for most devices (which is trivial to fix). The
IRQ masking stuff is more complex and old IDE handles it far better for
PIO on non shared IRQ interfaces. That is actually probably the most
complicated thing to address of the stuff you'd want to do if you were
going to kill off old IDE.

I was looking into the 32-bit PIO issue a bit yesterday. It looks like some of the VLB libata drivers are doing this internally already, so it shouldn't be hard to do this in the core. Only question is how we know generically if the controller can do it or not? It looks like in old IDE, a few controllers explicitly disable it, but it appears that it doesn't default to on for any controller, so it's possible there are others on which it doesn't work. Presumably anything on an actual 16-bit bus (ISA, LPC, etc.) wouldn't like it, to start with.

FWIW there is already a patch from Willy Terreau (sp?) to add 32-bit I/O.

I queued it for "later" because it had some issues that Alan pointed out, IIRC. I definitely want to push it in, though.

Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/