On Monday 09 October 2006 7:43 am, Christopher "Monty" Montgomery wrote: > > As for the using a single URB being an abuse of ISO: is this an abuse > of ISO or an abuse of the way Linux does ISO?
The former ... even if you had a realtime OS running as part of a system which managed latencies well enough, you would not be able to guarantee a lack of 1-uframe gaps, due purely to IRQ scheduling issues. > The first thing I > thought of was that an ISO stream should not be released when the last > URB completes-- it should be released when the last URB completes > *after* the next scheduled slot goes past empty. Neither is actually correct. It should be released when, after an URB completion, that endpoint's queue is empty. The method you first summarized allows descheduling before completion. The one you next summarized would require systematic changes, all drivers and HCDs, as well as something in HCDs to monitor schedules even when drivers aren't feeding them. > We will still run > into rebudgeting problems int he case of XRUN though, and we will > still run into the problem of an app running happily for several > hours, having an inadvertant XRUN and suddenly throwing 'ENOSPC'. > Throwing ENOSPC from a previously working ISO is an abuse of the user. The HCD policy described above -- combined with the "always keep the ISO queue non-empty" driver policy -- keeps the ENOSPC away. > Any possibility of mere preemption causing an EPIPE in a successfully > opened ISO stream should give you chills. We should be minimizing > that possibility, not embracing it as par for the course. I > understand the current design is unlikely to change, but that doesn't > mean we should just accept suboptimal use cases that will come up > often. Exactly why I'm reminding you that your driver -- queueing only one URB at a time -- is the source of a **LOT** of your problemss. - Dave ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel