1. 05 Oct, 2010 2 commits
    • Tejun Heo's avatar
      workqueue: add queue_work and activate_work trace points · cdadf009
      Tejun Heo authored
      These two tracepoints allow tracking when and how a work is queued and
      activated.  This patch is based on Frederic's patch to add queue_work
      trace point.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      cdadf009
    • Tejun Heo's avatar
      workqueue: prepare for more tracepoints · 97bd2347
      Tejun Heo authored
      Define workqueue_work event class and use it for workqueue_execute_end
      trace point.  Also, move trace/events/workqueue.h include downwards
      such that all struct definitions are visible to it.  This is to
      prepare for more tracepoints and doesn't cause any functional change.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      97bd2347
  2. 19 Sep, 2010 4 commits
    • Tejun Heo's avatar
      workqueue: implement flush[_delayed]_work_sync() · 09383498
      Tejun Heo authored
      Implement flush[_delayed]_work_sync().  These are flush functions
      which also make sure no CPU is still executing the target work from
      earlier queueing instances.  These are similar to
      cancel[_delayed]_work_sync() except that the target work item is
      flushed instead of cancelled.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      09383498
    • Tejun Heo's avatar
      workqueue: factor out start_flush_work() · baf59022
      Tejun Heo authored
      Factor out start_flush_work() from flush_work().  start_flush_work()
      has @wait_executing argument which controls whether the barrier is
      queued only if the work is pending or also if executing.  As
      flush_work() needs to wait for execution too, it uses %true.
      
      This commit doesn't cause any behavior difference.  start_flush_work()
      will be used to implement flush_work_sync().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      baf59022
    • Tejun Heo's avatar
      workqueue: cleanup flush/cancel functions · 401a8d04
      Tejun Heo authored
      Make the following cleanup changes.
      
      * Relocate flush/cancel function prototypes and definitions.
      
      * Relocate wait_on_cpu_work() and wait_on_work() before
        try_to_grab_pending().  These will be used to implement
        flush_work_sync().
      
      * Make all flush/cancel functions return bool instead of int.
      
      * Update wait_on_cpu_work() and wait_on_work() to return %true if they
        actually waited.
      
      * Add / update comments.
      
      This patch doesn't cause any functional changes.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      401a8d04
    • Tejun Heo's avatar
      workqueue: implement alloc_ordered_workqueue() · 81dcaf65
      Tejun Heo authored
      alloc_ordered_workqueue() creates a workqueue which processes each
      work itemp one by one in the queued order.  This will be used to
      replace create_freezeable_workqueue() and
      create_singlethread_workqueue().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      81dcaf65
  3. 17 Sep, 2010 19 commits
  4. 16 Sep, 2010 14 commits
  5. 15 Sep, 2010 1 commit