--- Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 19 Aug 2008 juanslayton@xxxxxxxxxxxxxx wrote: > > If I understand your analysis, Aivils' problem is because the UHCI > > controllers are too slow. > > Not just that; it also is a question of scheduling. The uhci-hcd > driver isn't very clever about scheduling, and it tries to put all the > packets into the same frame. If the packets were distributed among > multiple frames then the limit would be considerably higher (eight > times higher in this case). > > I'm not sure of the scheduling details in the ohci-hcd driver; they > might well be more flexible than in uhci-hcd. In which case a single > OHCI controller would be able to handle up to 32 of these keyboards, > even though it is no faster than a UHCI controller. The OHCI scheduling is pretty simple and compact. I'd think it would be easy enough to make UHCI do the same sort of thing: track bandwidth assigned to 2^N frames (OHCI hardware imposes a smaller limit for N than UHCI hardware does), and pick the least loaded of those frames to use for new transfers. In ohci-q.c see balance(), periodic_{,un}link(). Thing is that would involve changing how UHCI manages periodic transfers; assuming it hasn't changed those structures since last I looked. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html