title: How to queue the same workqueue work multiple times in Linux?
body: <p>I see that when the <code>schedule_work</code> function is invoked it will not put the work task into the queue if it is already queued. However I want to queue the same task to be run multiple times even if it is already on the queue. How can I do this?</p>
  
  <p>From workqueue.h:</p>
  
  <pre><code>/**
   * schedule_work - put work task in global workqueue
   * @work: job to be done
   *
   * Returns %false if @work was already on the kernel-global workqueue and
   * %true otherwise.
   *
   * This puts a job in the kernel-global workqueue if it was not already
   * queued and leaves it in the same position on the kernel-global
   * workqueue otherwise.
   */
  static inline bool schedule_work(struct work_struct *work)
  </code></pre>