aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
AgeCommit message (Expand)AuthorFilesLines
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
2020-03-12workqueue: Mark up unlocked access to wq->first_flusherChris Wilson1-2/+2
2020-03-10workqueue: don't use wq_select_unbound_cpu() for bound worksHillf Danton1-6/+8
2020-03-04workqueue: Make workqueue_init*() return voidYu Chen1-6/+2
2020-01-28Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-1/+1
2020-01-15workqueue: add worker function to workqueue_execute_end tracepointDaniel Jordan1-1/+1
2019-12-25Merge tag 'v5.5-rc3' into sched/core, to pick up fixesIngo Molnar1-2/+2
2019-12-08sched/rt, workqueue: Use PREEMPTIONSebastian Andrzej Siewior1-1/+1
2019-12-06workqueue: Use pr_warn instead of pr_warningKefeng Wang1-2/+2
2019-11-26Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-8/+1
2019-11-15workqueue: Add RCU annotation for pwq list walkSebastian Andrzej Siewior1-1/+2
2019-10-30workqueue: Convert for_each_wq to use built-in list checkJoel Fernandes (Google)1-8/+2
2019-10-04workqueue: Fix pwq ref leak in rescuer_thread()Tejun Heo1-5/+12
2019-10-04workqueue: more destroy_workqueue() fixesTejun Heo1-14/+31
2019-09-20workqueue: Minor follow-ups to the rescuer destruction changeTejun Heo1-2/+2
2019-09-20workqueue: Fix missing kfree(rescuer) in destroy_workqueue()Tejun Heo1-0/+1
2019-09-18workqueue: Fix spurious sanity check failures in destroy_workqueue()Tejun Heo1-5/+19
2019-09-13workqueue: require CPU hotplug read exclusion for apply_workqueue_attrsDaniel Jordan1-5/+14
2019-09-13workqueue: unconfine alloc/apply/free_workqueue_attrs()Daniel Jordan1-3/+3
2019-06-27workqueue: Remove GPF argument from alloc_workqueue_attrs()Thomas Gleixner1-12/+11
2019-06-27workqueue: Make alloc/apply/free_workqueue_attrs() staticThomas Gleixner1-4/+3
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-05-09Merge branch 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-42/+53
2019-05-07Merge tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/p...Linus Torvalds1-6/+6
2019-04-16sched/core, workqueues: Distangle worker accounting from rq lockThomas Gleixner1-30/+24
2019-04-09treewide: Switch printk users from %pf and %pF to %ps and %pS, respectivelySakari Ailus1-6/+6
2019-04-08workqueue: Use normal rcuThomas Gleixner1-42/+51
2019-03-21workqueue: Only unregister a registered lockdep keyBart Van Assche1-2/+3
2019-03-19kernel/workqueue: Document wq_worker_last_func() argumentBart Van Assche1-0/+1
2019-03-15kernel/workqueue: Use __printf markup to silence compiler in function 'alloc_...Mathieu Malaterre1-0/+1
2019-03-10Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux...Linus Torvalds1-0/+4
2019-03-09workqueue, lockdep: Fix a memory leak in wq->lock_nameQian Cai1-0/+2
2019-03-09workqueue, lockdep: Fix an alloc_workqueue() error pathBart Van Assche1-0/+2
2019-03-07Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-0/+10
2019-03-07kernel: workqueue: clarify wq_worker_last_func() caller requirementsJohannes Weiner1-0/+10
2019-03-07Merge branch 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-3/+6
2019-03-06Merge tag 'driver-core-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-0/+84
2019-03-05workqueue: Fix spelling in source code commentsBart Van Assche1-2/+2
2019-02-28kernel/workqueue: Use dynamic lockdep keys for workqueuesBart Van Assche1-9/+50
2019-02-21workqueue: fix typo in commentLiu Song1-1/+1
2019-02-11Merge 5.0-rc6 into driver-core-nextGreg Kroah-Hartman1-0/+23
2019-02-01psi: fix aggregation idle shut-offJohannes Weiner1-0/+23
2019-01-31workqueue: Provide queue_work_node to queue work near a given NUMA nodeAlexander Duyck1-0/+84
2019-01-25workqueue: Try to catch flush_work() without INIT_WORK().Tetsuo Handa1-0/+3
2018-11-27workqueue: Replace call_rcu_sched() with call_rcu()Paul E. McKenney1-4/+4
2018-08-30watchdog: Mark watchdog touch functions as notraceVincent Whitchurch1-1/+1
2018-08-24Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-15/+30
2018-08-22workqueue: re-add lockdep dependencies for flushingJohannes Berg1-0/+8
2018-08-22workqueue: skip lockdep wq dependency in cancel_work_sync()Johannes Berg1-15/+22
2018-06-12treewide: kzalloc() -> kcalloc()Kees Cook1-1/+1
2018-06-10Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-0/+1
2018-06-06Merge tag 'overflow-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-2/+1
2018-06-06treewide: Use struct_size() for kmalloc()-familyKees Cook1-2/+1
2018-05-23workqueue: move function definitions within CONFIG_SMP blockMathieu Malaterre1-2/+2
2018-05-21workqueue: Make sure struct worker is accessible for wq_worker_comm()Tejun Heo1-24/+34
2018-05-18workqueue: Show the latest workqueue name in /proc/PID/{comm,stat,status}Tejun Heo1-0/+39
2018-05-18workqueue: Set worker->desc to workqueue name by defaultTejun Heo1-11/+10
2018-05-18workqueue: Make worker_attach/detach_pool() update worker->poolTejun Heo1-8/+8
2018-05-18workqueue: Replace pool->attach_mutex with global wq_pool_attach_mutexTejun Heo1-21/+20
2018-05-18scsi: zfcp: workqueue: set description for port work items with their WWPN as...Steffen Maier1-0/+1
2018-04-03Merge branch 'for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-4/+56
2018-03-20workqueue: remove the comment about the old manager_arb mutexLai Jiangshan1-1/+0
2018-03-20workqueue: fix the comments of nr_idleLai Jiangshan1-3/+2