]> git.ipfire.org Git - thirdparty/linux.git/commit
treewide: Introduce kthread_run_worker[_on_cpu]()
authorFrederic Weisbecker <frederic@kernel.org>
Thu, 26 Sep 2024 22:49:07 +0000 (00:49 +0200)
committerFrederic Weisbecker <frederic@kernel.org>
Wed, 8 Jan 2025 17:15:03 +0000 (18:15 +0100)
commitb04e317b522630b46f78ee62ecbdc5734e8d43de
tree8becba4f285448112cfe2de10b86a6c1b67e0cd8
parent41f70d8e16349c65abdc0dd88a7d0ab94e5ce639
treewide: Introduce kthread_run_worker[_on_cpu]()

kthread_create() creates a kthread without running it yet. kthread_run()
creates a kthread and runs it.

On the other hand, kthread_create_worker() creates a kthread worker and
runs it.

This difference in behaviours is confusing. Also there is no way to
create a kthread worker and affine it using kthread_bind_mask() or
kthread_affine_preferred() before starting it.

Consolidate the behaviours and introduce kthread_run_worker[_on_cpu]()
that behaves just like kthread_run(). kthread_create_worker[_on_cpu]()
will now only create a kthread worker without starting it.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
33 files changed:
arch/x86/kvm/i8254.c
crypto/crypto_engine.c
drivers/cpufreq/cppc_cpufreq.c
drivers/gpu/drm/drm_vblank_work.c
drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
drivers/gpu/drm/i915/gt/selftest_execlists.c
drivers/gpu/drm/i915/gt/selftest_hangcheck.c
drivers/gpu/drm/i915/gt/selftest_slpc.c
drivers/gpu/drm/i915/selftests/i915_request.c
drivers/gpu/drm/msm/disp/msm_disp_snapshot.c
drivers/gpu/drm/msm/msm_atomic.c
drivers/gpu/drm/msm/msm_gpu.c
drivers/gpu/drm/msm/msm_kms.c
drivers/media/platform/chips-media/wave5/wave5-vpu.c
drivers/net/dsa/mv88e6xxx/chip.c
drivers/net/ethernet/intel/ice/ice_dpll.c
drivers/net/ethernet/intel/ice/ice_gnss.c
drivers/net/ethernet/intel/ice/ice_ptp.c
drivers/platform/chrome/cros_ec_spi.c
drivers/ptp/ptp_clock.c
drivers/spi/spi.c
drivers/usb/typec/tcpm/tcpm.c
drivers/vdpa/vdpa_sim/vdpa_sim.c
drivers/watchdog/watchdog_dev.c
fs/erofs/zdata.c
include/linux/kthread.h
kernel/kthread.c
kernel/rcu/tree.c
kernel/sched/ext.c
kernel/workqueue.c
net/dsa/tag_ksz.c
net/dsa/tag_ocelot_8021q.c
net/dsa/tag_sja1105.c