[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240703033855.3373-1-jiangshanlai@gmail.com>
Date: Wed, 3 Jul 2024 11:38:49 +0800
From: Lai Jiangshan <jiangshanlai@...il.com>
To: linux-kernel@...r.kernel.org
Cc: Lai Jiangshan <jiangshan.ljs@...group.com>,
Tejun Heo <tj@...nel.org>
Subject: [PATCH 0/6] workqueue: Make the PWQ allocation and WQ enlistment atomic
From: Lai Jiangshan <jiangshan.ljs@...group.com>
The PWQ allocation and WQ enlistment are not within the same lock-held
critical section; therefore, their states can become out of sync when
the user modifies the unbound mask or if CPU hotplug events occur in
the interim since those operations only update the WQs that are already
in the list.
Lai Jiangshan (6):
workqueue: Register sysfs after the whole creation of the new wq
workqueue: Protect wq_unbound_cpumask with wq_pool_attach_mutex in
init_rescuer()
workqueue: Separate out destroy_rescuer()
workqueue: Init rescuer before alloc and link pwqs
workqueue: Move kthread_flush_worker() out of alloc_and_link_pwqs()
workqueue: Put PWQ allocation and WQ enlistment in the same lock C.S.
Cc: Tejun Heo <tj@...nel.org>
kernel/workqueue.c | 110 ++++++++++++++++++++++++++-------------------
1 file changed, 63 insertions(+), 47 deletions(-)
--
2.19.1.6.gb485710b
Powered by blists - more mailing lists