lkml.org 
[lkml]   [2013]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V2 00/15] workqueue: enhance locking and lookup worker via ID
On 19/02/13 00:12, Lai Jiangshan wrote:
> Core patches are patch 1, patch 9, patch 13
>
> Patch 1: enhance locking
> Patch 9: recorde worker id to work->data instead of pool id
> lookup worker via worker ID if offq
> Patch 13:also lookup worker via worker ID if running&&queued,
> remove lookup via hashtable
>
> Patch 6-8: ensure modification to worker->pool is under pool lock held
> Patch 14: remove hashtable totally
>
> other patch is preparing-patch or cleanup.

Patchset is on top of tj/for-3.9
8d03ecfe471802d6afe97da97722b6924533aa82
workqueue: reimplement is_chained_work() using current_wq_worker()

Some other patches will be sent tomorrow or later(need to consider/merge
with your review comments at first)

Thanks,
lai

>
>
> Lai Jiangshan (15):
> workqueue: add lock_work_pool()
> workqueue: allow more work_pool id space
> workqueue: remname worker->id to worker->id_in_pool
> workqueue: add worker's global worker ID
> workqueue: only set pool id when the work is running
> workqueue: use current instead of worker->task in
> worker_maybe_bind_and_lock()
> workqueue: change argument of worker_maybe_bind_and_lock() to pool
> workqueue: only change worker->pool with pool lock held
> workqueue: use worker id instead
> workqueue: avoid unneeded calls to get_work_cwq(work)
> workqueue: split work_flags to delayed_flags and color_flags in
> __queue_work()
> workqueue: add extra flags to set_work_worker_and_keep_pending()
> workqueue: also record worker in work->data if running&&queued
> workqueue: convert busy hash to busy list
> workqueue: queue worker to busy list
>
> include/linux/workqueue.h | 25 +-
> kernel/workqueue.c | 522 ++++++++++++++++++++++++-------------------
> kernel/workqueue_internal.h | 17 +-
> 3 files changed, 314 insertions(+), 250 deletions(-)
>



\
 
 \ /
  Last update: 2013-02-18 18:01    [W:0.229 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site