On Thu, 11 Jul 2013, Devin Heitmueller wrote: > Funny - I had the same thought a few hours ago about moving the actual > URB processing to a tasklet. However I don't think it will help. > Here's why: > > Expanding on the test where I cut out everything in the URB handler > except for the submit, I tweaked the code so that it still does the > accounting so that video buffers get delivered but it skips the > memcpy() call (which is probably 99% of the work). This results in > the URB handler itself having essentially zero cost but empty buffers > get delivered to userland so the rest of the system behaves as it > normally would. In this case I was still seeing corruption and > skipped microframes via the Beagle, suggesting that the reason the > corruption went away when I commented out the body of the completion > handler wasn't because the cost of executing the completion handler > went to zero, but rather because the rest of the system load had gone > down as well because no video buffers were being delivered to the rest > of the system. You could try doing the opposite test: Leave the driver otherwise intact, but have it not deliver the video buffers to the userspace client. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html