aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
AgeCommit message (Expand)AuthorFilesLines
2013-03-18Merge branch 'for-3.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-19/+25
2013-03-13workqueue: convert to idr_alloc()Tejun Heo1-3/+4
2013-03-08workqueue: fix possible pool stall bug in wq_unbind_fn()Lai Jiangshan1-19/+25
2013-02-27hlist: drop the node parameter from iteratorsSasha Levin1-8/+5
2013-02-19workqueue: un-GPL function delayed_work_timer_fn()Konstantin Khlebnikov1-1/+1
2013-02-13workqueue: rename cpu_workqueue to pool_workqueueTejun Heo1-217/+216
2013-02-13workqueue: reimplement is_chained_work() using current_wq_worker()Tejun Heo1-25/+8
2013-02-13workqueue: fix is_chained_work() regressionTejun Heo1-1/+1
2013-02-07workqueue: pick cwq instead of pool in __queue_work()Lai Jiangshan1-16/+13
2013-02-07workqueue: make get_work_pool_id() cheaperLai Jiangshan1-2/+6
2013-02-07workqueue: move nr_running into worker_poolTejun Heo1-41/+22
2013-02-06workqueue: cosmetic update in try_to_grab_pending()Tejun Heo1-21/+17
2013-02-06workqueue: simplify is-work-item-queued-here testLai Jiangshan1-24/+16
2013-02-06workqueue: make work->data point to pool after try_to_grab_pending()Lai Jiangshan1-0/+10
2013-02-06workqueue: add delayed_work->wq to simplify reentrancy handlingLai Jiangshan1-29/+3
2013-02-06workqueue: make work_busy() test WORK_STRUCT_PENDING firstLai Jiangshan1-10/+6
2013-02-06workqueue: replace WORK_CPU_NONE/LAST with WORK_CPU_ENDLai Jiangshan1-5/+5
2013-01-24workqueue: post global_cwq removal cleanupsTejun Heo1-52/+52
2013-01-24workqueue: rename nr_running variablesTejun Heo1-4/+5
2013-01-24workqueue: remove global_cwqTejun Heo1-29/+17
2013-01-24workqueue: remove worker_pool->gcwqTejun Heo1-7/+5
2013-01-24workqueue: replace for_each_worker_pool() with for_each_std_worker_pool()Tejun Heo1-22/+17
2013-01-24workqueue: make freezing/thawing per-poolTejun Heo1-26/+20
2013-01-24workqueue: make hotplug processing per-poolTejun Heo1-87/+62
2013-01-24workqueue: move global_cwq->lock to worker_poolTejun Heo1-162/+154
2013-01-24workqueue: move global_cwq->cpu to worker_poolTejun Heo1-21/+21
2013-01-24workqueue: move busy_hash from global_cwq to worker_poolTejun Heo1-52/+59
2013-01-24workqueue: record pool ID instead of CPU in work->data when off-queueTejun Heo1-44/+67
2013-01-24workqueue: add worker_pool->idTejun Heo1-0/+21
2013-01-24workqueue: introduce WORK_OFFQ_CPU_NONETejun Heo1-2/+2
2013-01-24workqueue: make GCWQ_FREEZING a pool flagTejun Heo1-13/+15
2013-01-24workqueue: make GCWQ_DISASSOCIATED a pool flagTejun Heo1-31/+35
2013-01-24workqueue: use std_ prefix for the standard per-cpu poolsTejun Heo1-11/+11
2013-01-24workqueue: unexport work_cpu()Tejun Heo1-2/+2
2013-01-18workqueue: move struct worker definition to workqueue_internal.hTejun Heo1-31/+1
2013-01-18workqueue: rename kernel/workqueue_sched.h to kernel/workqueue_internal.hTejun Heo1-1/+1
2013-01-17workqueue: set PF_WQ_WORKER on rescuersTejun Heo1-7/+28
2012-12-19workqueue: fix find_worker_executing_work() brekage from hashtable conversionTejun Heo1-1/+1
2012-12-18workqueue: consider work function when searching for busy work itemsTejun Heo1-8/+31
2012-12-18workqueue: use new hashtable implementationSasha Levin1-71/+15
2012-12-12Merge branch 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-2/+4
2012-12-04workqueue: convert BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()sTejun Heo1-2/+2
2012-12-01workqueue: add WARN_ON_ONCE() on CPU number to wq_worker_waking_up()Joonsoo Kim1-1/+3
2012-12-01workqueue: trivial fix for return statement in work_busy()Joonsoo Kim1-1/+1
2012-12-01workqueue: mod_delayed_work_on() shouldn't queue timer on 0 delayTejun Heo1-3/+11
2012-12-01workqueue: exit rescuer_thread() as TASK_RUNNINGMike Galbraith1-1/+3
2012-10-24workqueue: cancel_delayed_work() should return %false if work item is idleDan Magenheimer1-1/+1
2012-10-02Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-578/+639
2012-09-20workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()Tejun Heo1-2/+0
2012-09-19workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()Lai Jiangshan1-1/+1
2012-09-19workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()Lai Jiangshan1-5/+21
2012-09-19workqueue: reimplement work_on_cpu() using system_wqTejun Heo1-17/+8
2012-09-18workqueue: remove @delayed from cwq_dec_nr_in_flight()Lai Jiangshan1-13/+8
2012-09-18workqueue: fix possible stall on try_to_grab_pending() of a delayed work itemLai Jiangshan1-3/+22
2012-09-18workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()Lai Jiangshan1-1/+1
2012-09-18workqueue: use __cpuinit instead of __devinit for cpu callbacksLai Jiangshan1-2/+2
2012-09-18workqueue: rename manager_mutex to assoc_mutexLai Jiangshan1-19/+19
2012-09-18workqueue: WORKER_REBIND is no longer necessary for idle rebindingLai Jiangshan1-26/+15
2012-09-18workqueue: WORKER_REBIND is no longer necessary for busy rebindingLai Jiangshan1-16/+2
2012-09-18workqueue: reimplement idle worker rebindingLai Jiangshan1-99/+42
2012-09-17Merge branch 'for-3.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...Tejun Heo1-23/+99
2012-09-17workqueue: always clear WORKER_REBIND in busy_worker_rebind_fn()Lai Jiangshan1-2/+10
2012-09-10workqueue: fix possible idle worker depletion across CPU hotplugLai Jiangshan1-1/+36
2012-09-10workqueue: restore POOL_MANAGING_WORKERSLai Jiangshan1-1/+4
2012-09-05workqueue: fix possible deadlock in idle worker rebindingTejun Heo1-2/+27
2012-09-05workqueue: move WORKER_REBIND clearing in rebind_workers() to the end of the ...Tejun Heo1-13/+13
2012-09-04workqueue: UNBOUND -> REBIND morphing in rebind_workers() should be atomicLai Jiangshan1-6/+11
2012-08-21workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()Tejun Heo1-0/+30
2012-08-21workqueue: use irqsafe timer for delayed_workTejun Heo1-9/+11
2012-08-20workqueue: gut system_nrt[_freezable]_wq()Tejun Heo1-9/+1
2012-08-20workqueue: gut flush[_delayed]_work_sync()Tejun Heo1-112/+10
2012-08-20workqueue: make all workqueues non-reentrantTejun Heo1-6/+7
2012-08-20workqueue: fix checkpatch issuesValentin Ilie1-16/+13
2012-08-16workqueue: use system_highpri_wq for unbind_workJoonsoo Kim1-1/+1
2012-08-16workqueue: use system_highpri_wq for highpri workers in rebind_workers()Joonsoo Kim1-4/+14
2012-08-16workqueue: introduce system_highpri_wqJoonsoo Kim1-3/+6
2012-08-16workqueue: change value of lcpu in __queue_delayed_work_on()Joonsoo Kim1-2/+8
2012-08-16workqueue: correct req_cpu in trace_workqueue_queue_work()Joonsoo Kim1-1/+2
2012-08-16workqueue: use enum value to set array size of pools in gcwqJoonsoo Kim1-1/+2
2012-08-13workqueue: add missing wmb() in clear_work_data()Tejun Heo1-7/+12
2012-08-13workqueue: fix CPU binding of flush_delayed_work[_sync]()Tejun Heo1-3/+4
2012-08-03workqueue: implement mod_delayed_work[_on]()Tejun Heo1-0/+53
2012-08-03workqueue: mark a work item being canceled as suchTejun Heo1-18/+72
2012-08-03workqueue: reorganize try_to_grab_pending() and __cancel_timer_work()Tejun Heo1-15/+32
2012-08-03workqueue: factor out __queue_delayed_work() from queue_delayed_work_on()Tejun Heo1-33/+41
2012-08-03workqueue: introduce WORK_OFFQ_FLAG_*Tejun Heo1-5/+9
2012-08-03workqueue: move try_to_grab_pending() upwardsTejun Heo1-143/+143
2012-08-03workqueue: fix zero @delay handling of queue_delayed_work_on()Tejun Heo1-5/+7
2012-08-03workqueue: unify local CPU queueing handlingTejun Heo1-12/+7
2012-08-03workqueue: set delayed_work->timer function on initializationTejun Heo1-3/+4
2012-08-03workqueue: disable irq while manipulating PENDINGTejun Heo1-20/+53
2012-08-03workqueue: add missing smp_wmb() in process_one_work()Tejun Heo1-0/+2
2012-08-03workqueue: make queueing functions return boolTejun Heo1-24/+23
2012-08-03workqueue: reorder queueing functions so that _on() variants are on topTejun Heo1-62/+62
2012-07-22workqueue: fix spurious CPU locality WARN from process_one_work()Tejun Heo1-0/+6
2012-07-17workqueue: simplify CPU hotplug codeTejun Heo1-54/+25
2012-07-17workqueue: remove CPU offline trusteeTejun Heo1-252/+36
2012-07-17workqueue: don't butcher idle workers on an offline CPUTejun Heo1-80/+14
2012-07-17workqueue: reimplement CPU online rebinding to handle idle workersTejun Heo1-49/+166
2012-07-17workqueue: drop @bind from create_worker()Tejun Heo1-19/+45
2012-07-17workqueue: use mutex for global_cwq manager exclusionTejun Heo1-39/+26
2012-07-17workqueue: ROGUE workers are UNBOUND workersTejun Heo1-25/+21
2012-07-17workqueue: drop CPU_DYING notifier operationTejun Heo1-16/+13
2012-07-17workqueue: perform cpu down operations from low priority cpu_notifier()Tejun Heo1-1/+37
2012-07-13workqueue: reimplement WQ_HIGHPRI using a separate worker_poolTejun Heo1-73/+27
2012-07-13workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()Tejun Heo1-70/+153
2012-07-12workqueue: separate out worker_pool flagsTejun Heo1-22/+25
2012-07-12workqueue: use @pool instead of @gcwq or @cpu where applicableTejun Heo1-107/+111
2012-07-12workqueue: factor out worker_pool from global_cwqTejun Heo1-99/+117
2012-07-12workqueue: don't use WQ_HIGHPRI for unbound workqueuesTejun Heo1-7/+11
2012-05-15lockdep: fix oops in processing workqueuePeter Zijlstra1-1/+3
2012-05-14workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is ...Tejun Heo1-2/+7
2012-04-23workqueue: Catch more locking problems with flush_work()Stephen Boyd1-0/+3
2012-04-16workqueue: change BUG_ON() to WARN_ON()Dan Carpenter1-1/+4
2012-03-20Merge branch 'for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-19/+3
2012-03-12workqueue: use percpu allocator for cwq on UPLai Jiangshan1-19/+3
2012-03-02Block: use a freezable workqueue for disk-event pollingAlan Stern1-1/+6
2012-01-10workqueue: make alloc_workqueue() take printf fmt and args for nameTejun Heo1-10/+22
2011-10-31kernel: Map most files to use export.h instead of module.hPaul Gortmaker1-1/+1
2011-09-14workqueue: lock cwq access in drain_workqueueThomas Tuttle1-1/+6
2011-07-22Merge branch 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-28/+53
2011-05-24Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...Linus Torvalds1-3/+1
2011-05-20workqueue: separate out drain_workqueue() from destroy_workqueue()Tejun Heo1-28/+53
2011-04-29workqueue: fix deadlock in worker_maybe_bind_and_lock()Tejun Heo1-1/+7
2011-03-24percpu: Always align percpu output section to PAGE_SIZETejun Heo1-3/+1
2011-03-22kthread: use kthread_create_on_node()Eric Dumazet1-2/+4
2011-03-16Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-1/+5
2011-03-08debugobjects: Add hint for better object identificationStanislaw Gruszka1-0/+6
2011-02-21workqueue: fix build failure introduced by s/freezeable/freezable/Tejun Heo1-5/+5
2011-02-21Merge branch 'master' into for-2.6.39Tejun Heo1-13/+24
2011-02-16workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies longTejun Heo1-1/+3
2011-02-16workqueue, freezer: unify spelling of 'freeze' + 'able' to 'freezable'Tejun Heo1-12/+12
2011-02-14workqueue: wake up a worker when a rescuer is leaving a gcwqTejun Heo1-0/+9
2011-02-09workqueue: add system_freezeable_wqTejun Heo1-1/+5
2011-01-11workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn't a noopTejun Heo1-1/+5
2011-01-11workqueue: relax lockdep annotation on flush_work()Tejun Heo1-2/+12
2010-12-20workqueue: allow chained queueing during destructionTejun Heo1-1/+59
2010-12-14workqueue: It is likely that WORKER_NOT_RUNNING is trueSteven Rostedt1-2/+2
2010-11-26workqueue: check the allocation of system_unbound_wqHitoshi Mitake1-1/+2
2010-10-26workqueues: s/ON_STACK/ONSTACK/Andrew Morton1-1/+1
2010-10-25MN10300: Fix the PERCPU() alignment to allow for workqueuesDavid Howells1-1/+3
2010-10-19workqueue: remove in_workqueue_context()Tejun Heo1-15/+0
2010-10-19workqueue: Clarify that schedule_on_each_cpu is synchronousTejun Heo1-4/+6
2010-10-11workqueue: add and use WQ_MEM_RECLAIM flagTejun Heo1-0/+7
2010-10-11workqueue: fix HIGHPRI handling in keep_working()Tejun Heo1-1/+3
2010-10-05workqueue: add queue_work and activate_work trace pointsTejun Heo1-0/+3
2010-10-05workqueue: prepare for more tracepointsTejun Heo1-3/+3
2010-09-19workqueue: implement flush[_delayed]_work_sync()Tejun Heo1-0/+56
2010-09-19workqueue: factor out start_flush_work()Tejun Heo1-27/+37
2010-09-19workqueue: cleanup flush/cancel functionsTejun Heo1-81/+94
2010-09-13workqueue: add documentationTejun Heo1-10/+17
2010-09-07Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-15/+38
2010-08-31workqueue: use zalloc_cpumask_var() for gcwq->mayday_maskTejun Heo1-1/+1
2010-08-31workqueue: fix GCWQ_DISASSOCIATED initializationTejun Heo1-2/+3
2010-08-25workqueue: fix cwq->nr_active underflowTejun Heo1-10/+20
2010-08-24workqueue: improve destroy_workqueue() debuggabilityTejun Heo1-1/+6
2010-08-23workqueue: mark lock acquisition on worker_maybe_bind_and_lock()Namhyung Kim1-0/+1
2010-08-23workqueue: annotate lock context changeNamhyung Kim1-0/+6
2010-08-21workqueue: Add basic tracepoints to track workqueue executionArjan van de Ven1-0/+9
2010-08-16workqueue: free rescuer on destroy_workqueueXiaotian Feng1-1/+1
2010-08-09workqueue: workqueue_cpu_callback() should be cpu_notifier instead of hotcpu_...Tejun Heo1-1/+1
2010-08-08workqueue: add missing __percpu markup in kernel/workqueue.cNamhyung Kim1-1/+1
2010-08-07Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-405/+2755
2010-08-01workqueue: mark init_workqueues() as early_initcall()Suresh Siddha1-1/+3
2010-08-01workqueue: explain for_each_*cwq_cpu() iteratorsTejun Heo1-0/+13
2010-07-22workqueue: fix how cpu number is stored in work->dataTejun Heo1-23/+13
2010-07-20workqueue: fix mayday_mask handling on UPTejun Heo1-7/+28
2010-07-20workqueue: fix build problem on !CONFIG_SMPTejun Heo1-4/+14
2010-07-14workqueue: fix locking in retry path of maybe_create_worker()Tejun Heo1-5/+3
2010-07-02workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND insteadTejun Heo1-82/+18
2010-07-02workqueue: implement unbound workqueueTejun Heo1-59/+159
2010-07-02workqueue: prepare for WQ_UNBOUND implementationTejun Heo1-40/+43
2010-07-02workqueue: fix worker management invocation without pending worksTejun Heo1-2/+2
2010-07-02workqueue: fix incorrect cpu number BUG_ON() in get_work_gcwq()Tejun Heo1-1/+1
2010-07-02workqueue: fix race condition in flush_workqueue()Tejun Heo1-0/+4
2010-07-02workqueue: use worker_set/clr_flags() only from worker itselfTejun Heo1-19/+28
2010-06-29workqueue: implement cpu intensive workqueueTejun Heo1-1/+15
2010-06-29workqueue: implement high priority workqueueTejun Heo1-6/+64
2010-06-29workqueue: implement several utility APIsTejun Heo1-1/+107
2010-06-29workqueue: s/__create_workqueue()/alloc_workqueue()/, and add system workqueuesTejun Heo1-17/+25
2010-06-29workqueue: increase max_active of keventd and kill current_is_keventd()Tejun Heo1-50/+13
2010-06-29workqueue: implement concurrency managed dynamic worker poolTejun Heo1-103/+833
2010-06-29workqueue: implement worker_{set|clr}_flags()Tejun Heo1-8/+40
2010-06-29workqueue: use shared worklist and pool all workers per cpuTejun Heo1-32/+99
2010-06-29workqueue: implement WQ_NON_REENTRANTTejun Heo1-3/+29
2010-06-29workqueue: carry cpu number in work data once execution startsTejun Heo1-59/+104
2010-06-29workqueue: add find_worker_executing_work() and track current_cwqTejun Heo1-0/+56
2010-06-29workqueue: make single thread workqueue shared worker pool friendlyTejun Heo1-35/+100
2010-06-29workqueue: reimplement CPU hotplugging support using trusteeTejun Heo1-16/+277
2010-06-29workqueue: implement worker statesTejun Heo1-41/+173
2010-06-29workqueue: introduce global cwq and unify cwq locksTejun Heo1-62/+98
2010-06-29workqueue: reimplement workqueue freeze using max_activeTejun Heo1-10/+153
2010-06-29workqueue: implement per-cwq active work limitTejun Heo1-2/+37
2010-06-29workqueue: reimplement work flushing using linked worksTejun Heo1-21/+131
2010-06-29workqueue: introduce workerTejun Heo1-61/+150
2010-06-29workqueue: reimplement workqueue flushing using color coded worksTejun Heo1-52/+303
2010-06-29workqueue: update cwq alignementTejun Heo1-5/+55
2010-06-29workqueue: kill cpu_populated_mapTejun Heo1-114/+59
2010-06-29workqueue: temporarily remove workqueue tracingTejun Heo1-11/+3
2010-06-29workqueue: separate out process_one_work()Tejun Heo1-39/+61