title: What is the difference between tasklet and workqueue
body: <p>I am a Linux device driver newbie, and want to know the exact differences between <code>tasklet</code> and <code>workqueue</code>. I have the following doubts:</p>
  
  <blockquote>
    <ol>
    <li>Which kernel stack do interrupts, tasklet and workqueue use when running in interrupt/process context?</li>
    <li>At what priority would tasklet and workqueue run and can we modify it's priority?</li>
    <li>If I implement my own work queue list, can I schedule/prioritize it independently?</li>
    </ol>
  </blockquote>