aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/generate_rust_analyzer.py
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2024-01-29 08:11:24 -1000
committerTejun Heo <tj@kernel.org>2024-01-29 08:11:24 -1000
commit9f66cff212bb3c1cd25996aaa0dfd0c9e9d8baab (patch)
tree11eeb44d70cce5fc9b11078f9413a92748189e9f /scripts/generate_rust_analyzer.py
parentworkqueue: Make wq_adjust_max_active() round-robin pwqs while activating (diff)
downloadlinux-rng-9f66cff212bb3c1cd25996aaa0dfd0c9e9d8baab.tar.xz
linux-rng-9f66cff212bb3c1cd25996aaa0dfd0c9e9d8baab.zip
workqueue: RCU protect wq->dfl_pwq and implement accessors for it
wq->cpu_pwq is RCU protected but wq->dfl_pwq isn't. This is okay because currently wq->dfl_pwq is used only accessed to install it into wq->cpu_pwq which doesn't require RCU access. However, we want to be able to access wq->dfl_pwq under RCU in the future to access its __pod_cpumask and the code can be made easier to read by making the two pwq fields behave in the same way. - Make wq->dfl_pwq RCU protected. - Add unbound_pwq_slot() and unbound_pwq() which can access both ->dfl_pwq and ->cpu_pwq. The former returns the double pointer that can be used access and update the pwqs. The latter performs locking check and dereferences the double pointer. - pwq accesses and updates are converted to use unbound_pwq[_slot](). Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions