[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZpSo08Nd3QXNFK30@slm.duckdns.org>
Date: Sun, 14 Jul 2024 18:42:59 -1000
From: Tejun Heo <tj@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Lai Jiangshan <jiangshanlai@...il.com>
Subject: [GIT PULL] workqueue: Changes for v6.11
The following changes since commit 8a92980606e3585d72d510a03b59906e96755b8a:
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi (2024-06-06 14:40:51 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git/ tags/wq-for-6.11
for you to fetch changes up to 58629d4871e8eb2c385b16a73a8451669db59f39:
workqueue: Always queue work items to the newest PWQ for order workqueues (2024-07-14 18:20:19 -1000)
----------------------------------------------------------------
workqueue: Changes for v6.11
- Lai fixed a bug where CPU hotplug and workqueue attribute changes race
leaving some workqueues not fully updated. This involved refactoring and
changing how online CPUs are tracked. The resulting code is cleaner.
- Workqueue watchdog touch operation was causing too much cacheline
contention on very large machines. Nicholas improved scalabililty by
avoiding unnecessary global updates.
- Code cleanups and minor rescuer behavior improvement.
- The last commit 58629d4871e8 ("workqueue: Always queue work items to the
newest PWQ for order workqueues") is a cherry-picked straggler commit from
for-6.10-fixes, a fix for a bug which may not actually trigger.
Unfortunately, maybe because for-6.10-fixes was branched off at a
different point from for-6.11, I couldn't persuade git request-pull to
generate clean diffstat if pulled into for-6.11.
----------------------------------------------------------------
Julia Lawall (1):
workqueue: replace call_rcu by kfree_rcu for simple kmem_cache_free callback
Lai Jiangshan (20):
workqueue: Avoid nr_active manipulation in grabbing inactive items
workqueue: Reap workers via kthread_stop() and remove detach_completion
workqueue: Don't bind the rescuer in the last working cpu
workqueue: Detach workers directly in idle_cull_fn()
workqueue: Remove useless pool->dying_workers
workqueue: Update cpumasks after only applying it successfully
workqueue: Simplify goto statement
workqueue: Register sysfs after the whole creation of the new wq
workqueue: Make rescuer initialization as the last step of the creation of a new wq
workqueue: Move kthread_flush_worker() out of alloc_and_link_pwqs()
workqueue: Put PWQ allocation and WQ enlistment in the same lock C.S.
workqueue: Init rescuer's affinities as the wq's effective cpumask
workqueue: Add wq_online_cpumask
workqueue: Simplify wq_calc_pod_cpumask() with wq_online_cpumask
workqueue: Remove cpus_read_lock() from apply_wqattrs_lock()
workqueue: Remove the unneeded cpumask empty check in wq_calc_pod_cpumask()
workqueue: Remove the argument @cpu_going_down from wq_calc_pod_cpumask()
workqueue: Remove the arguments @hotplug_cpu and @online from wq_update_pod()
workqueue: Rename wq_update_pod() to unbound_wq_update_pwq()
workqueue: Always queue work items to the newest PWQ for order workqueues
Nicholas Piggin (2):
workqueue: wq_watchdog_touch is always called with valid CPU
workqueue: Improve scalability of workqueue watchdog touch
Wenchao Hao (1):
workqueue: Clean code in alloc_and_link_pwqs()
kernel/workqueue.c | 346 ++++++++++++++++++++++++-----------------------------
1 file changed, 157 insertions(+), 189 deletions(-)
Powered by blists - more mailing lists