Greg KH wrote: > From now until July 1, ... > > Let me (and the linux-usb-devel list) know about any thoughts you have > pertaining to liking one of the drivers over the other one. Speed > tests, size tests, code pretty tests, comment spelling tests, > documentation tests, you name it, I want to know about it. > > ...
I confess I've not done much real UHCI testing, but I did do a bit of basic code analysis (object and source) against versions of the UHCI HCDs in the 2.5.22 kernel. - The "uhci-hcd" driver is about 10% larger than "usb-uhci-hcd" in terms of object size (even after disabling the /proc/driver code!) ... and both are significantly larger than the OHCI and EHCI drivers. Counting code+data+bss: 21337 uhci-hcd 19308 usb-uhci-hcd 17936 ehci-hcd 14091 ohci-hcd On a pure object-size basis, "usb-uhci-hcd" wins here. - Given the basic similarities between all that hardware (the only "big" thing that needs to differ much is scanning the HC lists to collect finished transactions), I think both UHCIs can very likely be trimmed down further: the known differences can't account for that much of a size difference. (EHCI is a bit more complex than UHCI ... by rights, it should be the fattest HCD! I heard MSFT's is over 100KBytes ... :) - Only "uhci-hcd" has any BSS at all -- two words. One of those words is a bug: "errbuf" should be HCD-private, not shared between drivers, or should be protected by a driver-global lock. (Likely not dangerous, and affecting only SMP today.) (All have the same amount of initialized data.) - Comparing source size, the two UHCIs are about the same in terms of bytes, but "uhci-hcd" has more lines ... with many of them being "non-functional" /proc/driver support. Given the object code results above, that suggests more whitespace or comments. I don't think either is compellingly better at commenting, though it's nice to have some text in "uhci-hcd" describing locking strategy. (Those are paired with cryptic "P:" comments, evening things out ... :) - It's hard to see (and compare!!) internal structure in "uhci-hcd" since it doesn't split out memory and HC queue primitives in different source files: it's all merged with the higher level glue. - I see that "uhci-hcd" added some big-endian support. Has anyone had a chance to test that? (Like on a PPC box.) I know that the big-endian support on "usb-uhci(-hcd)" has been around for a very long time now. I'll send along some less general comments about the code later. - Dave ------------------------------------------------------- Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel