aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
AgeCommit message (Expand)AuthorFilesLines
14 daysworkqueue: Fix divide error in wq_update_node_max_active()Lai Jiangshan1-0/+9
2024-04-23workqueue: The default node_nr_active should have its max set to max_activeTejun Heo1-1/+1
2024-04-23workqueue: Fix selection of wake_cpu in kick_pool()Sven Schnelle1-2/+6
2024-03-21Merge tag 'driver-core-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1/+1
2024-03-11Merge tag 'timers-core-2024-03-10' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-1/+1
2024-02-29workqueue: Drain BH work items on hot-unplugged CPUsTejun Heo1-3/+88
2024-02-22workqueue: Control intensive warning threshold through cmdlineXuewen Yan1-3/+11
2024-02-22workqueue: Use global variant for add_timer()Anna-Maria Behnsen1-1/+1
2024-02-20workqueue: Make @flags handling consistent across set_work_data() and friendsTejun Heo1-16/+16
2024-02-20workqueue: Remove clear_work_data()Tejun Heo1-16/+8
2024-02-20workqueue: Factor out work_grab_pending() from __cancel_work_sync()Tejun Heo1-52/+80
2024-02-20workqueue: Clean up enum work_bits and related constantsTejun Heo1-4/+4
2024-02-20workqueue: Introduce work_cancel_flagsTejun Heo1-12/+17
2024-02-20workqueue: Use variable name irq_flags for saving local irq flagsTejun Heo1-38/+38
2024-02-20workqueue: Reorganize flush and cancel[_sync] functionsTejun Heo1-68/+68
2024-02-20workqueue: Rename __cancel_work_timer() to __cancel_timer_sync()Tejun Heo1-3/+3
2024-02-20workqueue: Use rcu_read_lock_any_held() instead of rcu_read_lock_held()Tejun Heo1-2/+2
2024-02-20workqueue: Cosmetic changesTejun Heo1-16/+14
2024-02-19Merge 6.8-rc5 into driver-core-nextGreg Kroah-Hartman1-6/+2
2024-02-16workqueue, irq_work: Build fix for !CONFIG_IRQ_WORKTejun Heo1-9/+15
2024-02-14workqueue: Fix queue_work_on() with BH workqueuesTejun Heo1-5/+36
2024-02-09workqueue: Implement workqueue_set_min_active()Tejun Heo1-0/+27
2024-02-09workqueue: Fix kernel-doc comment of unplug_oldest_pwq()Waiman Long1-7/+10
2024-02-08workqueue: Bind unbound workqueue rescuer to wq_unbound_cpumaskWaiman Long1-1/+1
2024-02-08kernel/workqueue: Let rescuers follow unbound wq cpumask changesJuri Lelli1-0/+5
2024-02-08workqueue: Enable unbound cpumask update on ordered workqueuesWaiman Long1-10/+59
2024-02-08workqueue: Link pwq's into wq->pwqs from oldest to newestWaiman Long1-1/+1
2024-02-08workqueue: make wq_subsys constRicardo B. Marliere1-1/+1
2024-02-05Merge branch 'for-6.8-fixes' into for-6.9Tejun Heo1-6/+2
2024-02-05Revert "workqueue: Override implicit ordered attribute in workqueue_apply_unb...Tejun Heo1-6/+2
2024-02-05workqueue: Don't implicitly make UNBOUND workqueues w/ @max_active==1 orderedTejun Heo1-18/+4
2024-02-05workqueue: Skip __WQ_DESTROYING workqueues when updating global unbound cpumaskWaiman Long1-1/+1
2024-02-05workqueue: fix a typo in commentWang Jinchao1-1/+1
2024-02-05Revert "workqueue: make wq_subsys const"Tejun Heo1-1/+1
2024-02-04workqueue: Implement BH workqueues to eventually replace taskletsTejun Heo1-53/+238
2024-02-04workqueue: Factor out init_cpu_worker_pool()Tejun Heo1-14/+18
2024-02-04workqueue: Update lock debugging codeTejun Heo1-17/+34
2024-02-04workqueue: make wq_subsys constRicardo B. Marliere1-1/+1
2024-02-04workqueue: Fix pwq->nr_in_flight corruption in try_to_grab_pending()Tejun Heo1-2/+8
2024-01-30workqueue: Avoid premature init of wq->node_nr_active[].maxTejun Heo1-0/+8
2024-01-30workqueue: Don't call cpumask_test_cpu() with -1 CPU in wq_update_node_max_ac...Tejun Heo1-1/+1
2024-01-29workqueue: Avoid using isolated cpus' timers on queue_delayed_workLeonardo Bras1-3/+11
2024-01-29workqueue: Implement system-wide nr_active enforcement for unbound workqueuesTejun Heo1-32/+309
2024-01-29workqueue: Introduce struct wq_node_nr_activeTejun Heo1-7/+135
2024-01-29workqueue: Move pwq_dec_nr_in_flight() to the end of work item handlingTejun Heo1-1/+10
2024-01-29workqueue: RCU protect wq->dfl_pwq and implement accessors for itTejun Heo1-24/+40
2024-01-29workqueue: Make wq_adjust_max_active() round-robin pwqs while activatingTejun Heo1-12/+19
2024-01-29workqueue: Move nr_active handling into helpersTejun Heo1-19/+67
2024-01-29workqueue: Replace pwq_activate_inactive_work() with [__]pwq_activate_work()Tejun Heo1-6/+25
2024-01-29workqueue: Factor out pwq_is_empty()Tejun Heo1-4/+9
2024-01-29workqueue: Move pwq->max_active to wq->max_activeTejun Heo1-67/+66
2024-01-26workqueue: Break up enum definitions and give names to the typesTejun Heo1-1/+5
2024-01-26workqueue: Drop unnecessary kick_pool() in create_worker()Tejun Heo1-3/+2
2024-01-25workqueue: Shorten events_freezable_power_efficient nameAudra Mitchell1-1/+1
2024-01-19workqueue: mark power efficient workqueue as unbounded if nohz_full enabledMarcelo Tosatti1-0/+7
2024-01-16workqueue: Add rcu lock check at the end of work item executionXuewen Yan1-4/+5
2024-01-16kernel/workqueue: Bind rescuer to unbound cpumask for WQ_UNBOUNDJuri Lelli1-1/+4
2024-01-16workqueue.c: Increase workqueue name lengthAudra Mitchell1-2/+6
2023-11-22Merge branch 'for-6.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...Tejun Heo1-6/+16
2023-11-22workqueue: Make sure that wq_unbound_cpumask is never emptyTejun Heo1-7/+15
2023-11-21workqueue: Move workqueue_set_unbound_cpumask() and its helpers inside CONFIG...Waiman Long1-51/+51
2023-11-12workqueue: Add workqueue_unbound_exclude_cpumask() to exclude CPUs from wq_un...Waiman Long1-8/+83
2023-11-02Merge tag 'mm-nonmm-stable-2023-11-02-14-08' of git://git.kernel.org/pub/scm/...Linus Torvalds1-8/+8
2023-10-18treewide: mark stuff as __ro_after_initAlexey Dobriyan1-8/+8
2023-10-17workqueue: Provide one lock class key per work_on_cpu() callsiteFrederic Weisbecker1-8/+12
2023-10-12workqueue: fix -Wformat-truncation in create_workerLucy Mielke1-1/+1
2023-10-12workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpu...Waiman Long1-2/+6
2023-10-12workqueue: Use the kmem_cache_free() instead of kfree() to release pwqZqiang1-2/+6
2023-10-04workqueue: Fix UAF report by KASAN in pwq_release_workfn()Zqiang1-0/+6
2023-09-18workqueue: Fix missed pwq_release_worker creation in wq_cpu_intensive_thresh_...Zqiang1-3/+3
2023-09-18workqueue: Removed double allocation of wq_update_pod_attrs_bufSteven Rostedt (Google)1-3/+0
2023-08-29workqueue: fix data race with the pwq->stats[] incrementMirsad Goran Todorovac1-1/+1
2023-08-14workqueue: Rename rescuer kworkerAaron Tomlin1-1/+1
2023-08-07workqueue: Make default affinity_scope dynamically updatableTejun Heo1-6/+39
2023-08-07workqueue: Implement non-strict affinity scope for unbound workqueuesTejun Heo1-2/+72
2023-08-07workqueue: Add workqueue_attrs->__pod_cpumaskTejun Heo1-37/+37
2023-08-07workqueue: Factor out need_more_worker() check and worker wake-upTejun Heo1-50/+37
2023-08-07workqueue: Factor out work to worker assignment and collision handlingTejun Heo1-28/+52
2023-08-07workqueue: Add multiple affinity scopes and interface to select themTejun Heo1-5/+105
2023-08-07workqueue: Modularize wq_pod_type initializationTejun Heo1-34/+50
2023-08-07workqueue: Generalize unbound CPU podsTejun Heo1-61/+110
2023-08-07workqueue: Factor out clearing of workqueue-only attrs fieldsTejun Heo1-6/+14
2023-08-07workqueue: Factor out actual cpumask calculation to reduce subtlety in wq_upd...Tejun Heo1-20/+29
2023-08-07workqueue: Initialize unbound CPU pods later in the bootTejun Heo1-27/+41
2023-08-07workqueue: Move wq_pod_init() below workqueue_init()Tejun Heo1-38/+40
2023-08-07workqueue: Rename NUMA related names to use pod insteadTejun Heo1-85/+76
2023-08-07workqueue: Rename workqueue_attrs->no_numa to ->orderedTejun Heo1-10/+9
2023-08-07workqueue: Make unbound workqueues to use per-cpu pool_workqueuesTejun Heo1-141/+77
2023-08-07workqueue: Call wq_update_unbound_numa() on all CPUs in NUMA node on CPU hotplugTejun Heo1-9/+25
2023-08-07workqueue: Make per-cpu pool_workqueues allocated and released like unbound onesTejun Heo1-34/+40
2023-08-07workqueue: Use a kthread_worker to release pool_workqueuesTejun Heo1-17/+23
2023-08-07workqueue: Remove module param disable_numa and sysfs knobs pool_ids and numaTejun Heo1-73/+0
2023-08-07workqueue: Relocate worker and work management functionsTejun Heo1-172/+168
2023-08-07workqueue: Rename wq->cpu_pwqs to wq->cpu_pwqTejun Heo1-7/+7
2023-08-07workqueue: Not all work insertion needs to wake up a workerTejun Heo1-19/+19
2023-08-07workqueue: Cleanups around process_scheduled_works()Tejun Heo1-18/+11
2023-08-07workqueue: Drop the special locking rule for worker->flags and worker_pool->f...Tejun Heo1-14/+3
2023-08-07workqueue: Merge branch 'for-6.5-fixes' into for-6.6Tejun Heo1-1/+42
2023-08-07workqueue: use LIST_HEAD to initialize cull_listYang Yingliang1-5/+2
2023-07-25workqueue: Scale up wq_cpu_intensive_thresh_us if BogoMIPS is below 4000Tejun Heo1-1/+42
2023-07-10workqueue: add cmdline parameter `workqueue.unbound_cpus` to further constrai...tiozhang1-0/+17
2023-07-10workqueue: Warn attempt to flush system-wide workqueues.Tetsuo Handa1-6/+5
2023-06-27Merge tag 'wq-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-64/+258
2023-06-23workqueue: clean up WORK_* constant types, clarify maskingLinus Torvalds1-5/+8
2023-05-25workqueue: Disable per-cpu CPU hog detection when wq_cpu_intensive_thresh_us ...Zqiang1-0/+3
2023-05-24workqueue: Fix WARN_ON_ONCE() triggers in worker_enter_idle()Zqiang1-5/+12
2023-05-17workqueue: Track and monitor per-workqueue CPU time usageTejun Heo1-0/+3
2023-05-17workqueue: Report work funcs that trigger automatic CPU_INTENSIVE mechanismTejun Heo1-0/+93
2023-05-17workqueue: Automatically mark CPU-hogging work items CPU_INTENSIVETejun Heo1-5/+63
2023-05-17workqueue: Improve locking rule description for worker fieldsTejun Heo1-0/+6
2023-05-17workqueue: Move worker_set/clr_flags() upwardsTejun Heo1-54/+54
2023-05-17workqueue: Add pwq->stats[] and a monitoring scriptTejun Heo1-1/+23
2023-05-09Further upgrade queue_work_on() commentPaul E. McKenney1-0/+2
2023-04-29Merge tag 'wq-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-13/+121
2023-03-23workqueue: Introduce show_freezable_workqueuesJungseung Lee1-2/+24
2023-03-17workqueue: Print backtraces from CPUs with hung CPU bound workqueuesPetr Mladek1-0/+66
2023-03-17workqueue: Warn when a rescuer could not be createdPetr Mladek1-1/+6
2023-03-17workqueue: Interrupted create_worker() is not a repeated eventPetr Mladek1-2/+7
2023-03-17workqueue: Warn when a new worker could not be createdPetr Mladek1-3/+11
2023-03-17workqueue: Fix hung time report of worker poolsPetr Mladek1-3/+7
2023-03-17workqueue: Simplify a pr_warn() call in wq_select_unbound_cpu()Ammar Faizi1-4/+2
2023-03-17workqueue: move to use bus_get_dev_root()Greg Kroah-Hartman1-1/+7
2023-01-13workqueue: Fold rebind_worker() within rebind_workers()Valentin Schneider1-8/+5
2023-01-12workqueue: Unbind kworkers before sending them to exit()Valentin Schneider1-12/+60
2023-01-12workqueue: Don't hold any lock while rcuwait'ing for !POOL_MANAGER_ACTIVEValentin Schneider1-17/+19
2023-01-12workqueue: Convert the idle_timer to a timer + work_structValentin Schneider1-2/+50
2023-01-12workqueue: Factorize unbind/rebind_workers() logicValentin Schneider1-12/+21
2023-01-12workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutexLai Jiangshan1-25/+16
2023-01-06workqueue: Make show_pwq() use run-length encodingPaul E. McKenney1-5/+39
2023-01-04workqueue: Add a new flag to spot the potential UAF errorRichard Clark1-3/+12
2022-11-30workqueue: Make queue_rcu_work() use call_rcu_hurry()Uladzislau Rezki1-1/+1
2022-10-03Merge tag 'kcfi-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ke...Linus Torvalds1-1/+1
2022-09-26treewide: Drop WARN_ON_FUNCTION_MISMATCHSami Tolvanen1-1/+1
2022-08-16workqueue: don't skip lockdep work dependency in cancel_work_sync()Tetsuo Handa1-4/+2
2022-08-03Merge tag 'drm-next-2022-08-03' of git://anongit.freedesktop.org/drm/drmLinus Torvalds1-0/+9
2022-07-29workqueue: Avoid a false warning in unbind_workers()Lai Jiangshan1-1/+4
2022-07-12Merge tag 'amd-drm-next-5.20-2022-07-05' of https://gitlab.freedesktop.org/ag...Dave Airlie1-0/+9
2022-06-10Revert "workqueue: remove unused cancel_work()"Andrey Grodzovsky1-0/+9
2022-06-07workqueue: Wrap flush_workqueue() using a macroTetsuo Handa1-4/+12
2022-04-21workqueue: Restrict kworker in the offline CPU pool running on housekeeping CPUsZqiang1-1/+1
2022-03-23Merge branch 'for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-38/+20
2022-02-16sched/isolation: Use single feature type while referring to housekeeping cpumaskFrederic Weisbecker1-2/+2
2022-02-16workqueue: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetchFrederic Weisbecker1-2/+2
2022-01-12workqueue: Convert the type of pool->nr_running to intLai Jiangshan1-13/+16
2022-01-12workqueue: Use wake_up_worker() in wq_worker_sleeping() instead of open codeLai Jiangshan1-6/+3
2022-01-12workqueue: Change the comments of the synchronization about the idle_listLai Jiangshan1-9/+2
2022-01-12workqueue: Remove the mb() pair between wq_worker_sleeping() and insert_work()Lai Jiangshan1-11/+0
2022-01-10Merge branch 'workqueue/for-5.16-fixes' into workqueue/for-5.17Tejun Heo1-1/+21
2021-12-09workqueue: Remove the cacheline_aligned for nr_runningLai Jiangshan1-8/+4
2021-12-09workqueue: Move the code of waking a worker up in unbind_workers()Lai Jiangshan1-23/+15
2021-12-09workqueue: Remove schedule() in unbind_workers()Lai Jiangshan1-8/+3
2021-12-09workqueue: Remove outdated comment about exceptional workers in unbind_workers()Lai Jiangshan1-3/+1
2021-12-09workqueue: Remove the advanced kicking of the idle workers in rebind_workers()Lai Jiangshan1-11/+0
2021-12-09workqueue: Remove the outdated comment before wq_worker_sleeping()Lai Jiangshan1-2/+1
2021-12-02workqueue: Fix unbind_workers() VS wq_worker_sleeping() raceFrederic Weisbecker1-0/+10
2021-12-02workqueue: Fix unbind_workers() VS wq_worker_running() raceFrederic Weisbecker1-0/+9
2021-12-01workqueue: Upgrade queue_work_on() commentPaul E. McKenney1-1/+2
2021-11-06Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2021-11-06workqueue, kasan: avoid alloc_pages() when recording stackMarco Elver1-1/+1
2021-10-20workqueue: Introduce show_one_worker_pool and show_one_workqueue.Imran Khan1-76/+96
2021-10-19workqueue: make sysfs of unbound kworker cpumask more cleverMenglong Dong1-4/+11
2021-10-11workqueue: fix state-dump console deadlockJohan Hovold1-2/+16
2021-08-17workqueue: Assign a color to barrier work itemsLai Jiangshan1-8/+12
2021-08-17workqueue: Mark barrier work with WORK_STRUCT_INACTIVELai Jiangshan1-8/+34
2021-08-17workqueue: Change the code of calculating work_flags in insert_wq_barrier()Lai Jiangshan1-4/+3
2021-08-17workqueue: Change arguement of pwq_dec_nr_in_flight()Lai Jiangshan1-8/+10
2021-08-17workqueue: Rename "delayed" (delayed by active management) to "inactive"Lai Jiangshan1-29/+29
2021-08-09workqueue: Replace deprecated CPU-hotplug functions.Sebastian Andrzej Siewior1-11/+11
2021-08-09workqueue: Replace deprecated ida_simple_*() with ida_alloc()/ida_free()Zhen Lei1-7/+6
2021-08-09workqueue: Fix typo in commentsCai Huoqing1-3/+3
2021-07-29workqueue: Fix possible memory leaks in wq_numa_init()Zhen Lei1-5/+7
2021-07-21workqueue: fix UAF in pwq_unbound_release_workfn()Yang Yingliang1-7/+13
2021-05-20wq: handle VM suspension in stall detectionSergey Senozhatsky1-2/+10
2021-04-27Merge tag 'cfi-v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ke...Linus Torvalds1-1/+1
2021-04-08workqueue: use WARN_ON_FUNCTION_MISMATCHSami Tolvanen1-1/+1
2021-04-04workqueue/watchdog: Make unbound workqueues aware of touch_softlockup_watchdog()Wang Qing1-11/+6
2021-04-04workqueue: Move the position of debug_work_activate() in __queue_work()Zqiang1-1/+1
2021-02-22Merge branch 'for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-2/+2
2021-01-27workqueue: Use %s instead of function nameStephen Zhang1-2/+2
2021-01-22workqueue: Restrict affinity change to rescuerPeter Zijlstra1-6/+3
2021-01-22workqueue: Tag bound workers with KTHREAD_IS_PER_CPUPeter Zijlstra1-2/+9
2021-01-22workqueue: Use cpu_possible_mask instead of cpu_active_mask to break affinityLai Jiangshan1-1/+1
2020-12-28Merge branch 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-3/+10
2020-12-15Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-0/+3
2020-12-15workqueue: kasan: record workqueue stackWalter Wu1-0/+3
2020-11-25workqueue: Kick a worker based on the actual activation of delayed worksYunfeng Ye1-3/+10
2020-11-10workqueue: Manually break affinity on hotplugPeter Zijlstra1-0/+4
2020-10-16workqueue: fix a kernel-doc warningMauro Carvalho Chehab1-0/+3
2020-09-24treewide: Make all debug_obj_descriptors constStephen Boyd1-2/+2
2020-06-17maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofaultChristoph Hellwig1-5/+5
2020-06-01workqueue: use BUILD_BUG_ON() for compile time test instead of WARN_ON()Lai Jiangshan1-1/+1
2020-05-29workqueue: remove useless unlock() and lock() in seriesLai Jiangshan1-2/+0
2020-05-29workqueue: void unneeded requeuing the pwq in rescuer threadLai Jiangshan1-1/+1
2020-05-29workqueue: Convert the pool::lock and wq_mayday_lock to raw_spinlock_tSebastian Andrzej Siewior1-88/+88
2020-05-29workqueue: Use rcuwait for wq_manager_waitSebastian Andrzej Siewior1-5/+19
2020-05-27workqueue: Remove unnecessary kfree() call in rcu_free_wq()Zhang Qiang1-1/+0
2020-05-11workqueue: Fix an use after free in init_rescuer()Dan Carpenter1-1/+3
2020-05-05workqueue: Use IS_ERR and PTR_ERR instead of PTR_ERR_OR_ZERO.Sean Fu1-4/+2
2020-04-08workqueue: Remove the warning in wq_worker_sleeping()Sebastian Andrzej Siewior1-2/+4
2020-04-03Merge branch 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-8/+4