Interesting idea. I'd rather have the "hcd framework" layer
manage such stuff than have each of N host controller drivers
trying to do the same thing though ... less likely to turn
into bug heaven.
> This could actually improve performance for things like the input
> layer USB drivers. On several systems multiple cache lines are
> fetched when a keyboard key is typed, and this is because we use
> streaming buffers instead of consistent ones for these transfers.
And that's exactly the problem scenario, since it uses the "automagic
resubmit" model with interrupt transfers. Each of the HCDs needs to
handle that differently -- different behaviors, different bugs, yeech.
I won't go into it now, but a queued transfer model would work a lot
better.
> We have two problems we want to solve, the DMA alignment stuff and
> using consistent memory for these small buffers. Therefore moving to
> consistent memory (by whatever mechanism the USB desires to implement
> this) is the way to go.
Right, the alignment stuff is a correctness issue, the consistent
memory issue is a performance concern. I like to think that 2.5
will have a lot less correctness issues in the USB stack, so it
can start to pay more attention to performance concerns.
- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/