title: Why is not USB interrupt-driven?
body: <p>What's the rationale behind making USB a polling mechanism rather than interrupt-driven? The answers I can come up with some reasoning are:</p>
  
  <ul>
  <li>Leave control of processing efficiency and granularity to OS, rather than the device itself.</li>
  <li>Prevent "interrupt storms" by faulty devices.</li>
  </ul>
  
  <p>Some explanations on the net that I found say that it's mostly because of the nature of USB devices. They are mostly microcontroller-based systems which cannot queue larger transfers therefore require short interrupt intervals and such short interrupt intervals may not be the most efficient. Is that true?</p>
  
  <p>Could there be other reasons?</p>