From: Lai Jiangshan <jiangshanlai@gmail.com>
To: linux-kernel@vger.kernel.org, Tejun Heo <tj@kernel.org>
Cc: Lai Jiangshan <laijs@linux.alibaba.com>
Subject: [PATCH 0/7] workqueue: cleanups for schedule callbacks
Date: Tue, 7 Dec 2021 15:35:36 +0800 [thread overview]
Message-ID: <20211207073543.61092-1-jiangshanlai@gmail.com> (raw)
From: Lai Jiangshan <laijs@linux.alibaba.com>
The commit 6d25be5782e4 ("sched/core, workqueues: Distangle worker
accounting from rq lock") changed the schedule callbacks for workqueue.
It simplified the connection between scheduler and workqueue. But it
caused some code uselss and some comments outdated in workqueue. This
patchset clean them up.
Patch1 is unrelated to 6d25be5782e4, it is related to a recent change
to make wq_worker_sleeping() not being called in preempt disabled
section.
Patch2 is cleanup for 6d25be5782e4 not calling schedule callbacks in
deeper sleeping path with local-wake-up fashion.
Patch3 is unrelated to 6d25be5782e4, but weakly prepared for patch4.
Patch4-6 are cleanup for 6d25be5782e4 not calling schedule callbacks in
wakeup code, so cacheline_aligned for nr_running and schedule() in
unbind_workers() is unneeded.
6d25be5782e4 also changed to use pool lock in wq_worker_sleeping(),
and patch 7 changes it back to use preemption disabling. This patch is
marked for 'RFC' because using pool lock in slow (sleeping) path is OK
for me and paves the road to remove "X:" protection.
There are several further cleanups depended on if patch7 is accepted or
not. For example, mb() in insert_work() can be removed if pool lock
wins.
Lai Jiangshan (7):
workqueue: Remove the outdated comment before wq_worker_sleeping()
workqueue: Remove the advanced kicking of the idle workers in
rebind_workers()
workqueue: Remove outdated comment about exceptional workers in
unbind_workers()
workqueue: Remove schedule() in unbind_workers()
workqueue: Move the code of waking a worker up in unbind_workers()
workqueue: Remove the cacheline_aligned for nr_running
workqueue: Replace pool lock with preemption disabling in
wq_worker_sleeping()
kernel/workqueue.c | 102 +++++++++++++++++----------------------------
1 file changed, 38 insertions(+), 64 deletions(-)
--
2.19.1.6.gb485710b
next reply other threads:[~2021-12-07 7:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-07 7:35 Lai Jiangshan [this message]
2021-12-07 7:35 ` [PATCH 1/7] workqueue: Remove the outdated comment before wq_worker_sleeping() Lai Jiangshan
2021-12-07 7:35 ` [PATCH 2/7] workqueue: Remove the advanced kicking of the idle workers in rebind_workers() Lai Jiangshan
2021-12-07 7:35 ` [PATCH 3/7] workqueue: Remove outdated comment about exceptional workers in unbind_workers() Lai Jiangshan
2021-12-09 22:16 ` Tejun Heo
2021-12-07 7:35 ` [PATCH 4/7] workqueue: Remove schedule() " Lai Jiangshan
2021-12-07 7:35 ` [PATCH 5/7] workqueue: Move the code of waking a worker up " Lai Jiangshan
2021-12-07 7:35 ` [PATCH 6/7] workqueue: Remove the cacheline_aligned for nr_running Lai Jiangshan
2021-12-09 22:07 ` Tejun Heo
2021-12-09 23:31 ` Lai Jiangshan
2021-12-09 22:27 ` Tejun Heo
2021-12-07 7:35 ` [RFC PATCH 7/7] workqueue: Replace pool lock with preemption disabling in wq_worker_sleeping() Lai Jiangshan
2021-12-09 22:14 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211207073543.61092-1-jiangshanlai@gmail.com \
--to=jiangshanlai@gmail.com \
--cc=laijs@linux.alibaba.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®