Jeff Garzik wrote: > 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, have your thoughts about PIO IRQ disable handling changed yet? I don't really see any better way than doing it like IDE. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html