mirror-linux/kernel/sched
Linus Torvalds a50b4fe095 A treewide hrtimer timer cleanup
hrtimers are initialized with hrtimer_init() and a subsequent store to
   the callback pointer. This turned out to be suboptimal for the upcoming
   Rust integration and is obviously a silly implementation to begin with.
 
   This cleanup replaces the hrtimer_init(T); T->function = cb; sequence
   with hrtimer_setup(T, cb);
 
   The conversion was done with Coccinelle and a few manual fixups.
 
   Once the conversion has completely landed in mainline, hrtimer_init()
   will be removed and the hrtimer::function becomes a private member.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmff5jQTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoVvRD/wKtuwmiA66NJFgXC0qVq82A6fO3bY8
 GBdbfysDJIbqGu5PTcULTbJ8qkqv3jeLUv6CcXvS4sZ7y/uJQl2lzf8yrD/0bbwc
 rLI6sHiPSZmK93kNVN4X5H7kvt7cE/DYC9nnEOgK3BY5FgKc4n9887d4aVBhL8Lv
 ODwVXvZ+xi351YCj7qRyPU24zt/p4tkkT1o2k4a0HBluqLI0D+V20fke9IERUL8r
 d1uWKlcn0TqYDesE8HXKIhbst3gx52rMJrXBJDHwFmG6v8Pj1fkTXCVpPo8QcBz8
 OTVkpomN9f/Tx4+GZwhZOF86LhLL3OhxD6pT7JhFCXdmSGv+Ez8uyk1YZysM/XpV
 Juy/1yAcBpDIDkmhMFGdAAn48Nn9Fotty0r4je60zSEp1d/4QMXcFme29qr2JTUE
 iWnQ/HD6DxUjVHqy7CYvvo26Xegg1C7qgyOVt4PYZwAM1VKF5P3kzYTb4SAdxtop
 Tpji1sfW9QV08jqMNo6XntD32DSP9S2HqjO9LwBw700jnx2jjJ35fcJs6iodMOUn
 gckIZLMn3L0OoglPdyA5O7SNTbKE7aFiRKdnT/cJtR3Fa39Qu27CwC5gfiyuie9I
 Q+LG8GLuYSBHXAR+PBK4GWlzJ7Dn8k3eqmbnLeKpRMsU6ZzcttgA64xhaviN2wN0
 iJbvLJeisXr3GA==
 =bYAX
 -----END PGP SIGNATURE-----

Merge tag 'timers-cleanups-2025-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer cleanups from Thomas Gleixner:
 "A treewide hrtimer timer cleanup

  hrtimers are initialized with hrtimer_init() and a subsequent store to
  the callback pointer. This turned out to be suboptimal for the
  upcoming Rust integration and is obviously a silly implementation to
  begin with.

  This cleanup replaces the hrtimer_init(T); T->function = cb; sequence
  with hrtimer_setup(T, cb);

  The conversion was done with Coccinelle and a few manual fixups.

  Once the conversion has completely landed in mainline, hrtimer_init()
  will be removed and the hrtimer::function becomes a private member"

* tag 'timers-cleanups-2025-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (100 commits)
  wifi: rt2x00: Switch to use hrtimer_update_function()
  io_uring: Use helper function hrtimer_update_function()
  serial: xilinx_uartps: Use helper function hrtimer_update_function()
  ASoC: fsl: imx-pcm-fiq: Switch to use hrtimer_setup()
  RDMA: Switch to use hrtimer_setup()
  virtio: mem: Switch to use hrtimer_setup()
  drm/vmwgfx: Switch to use hrtimer_setup()
  drm/xe/oa: Switch to use hrtimer_setup()
  drm/vkms: Switch to use hrtimer_setup()
  drm/msm: Switch to use hrtimer_setup()
  drm/i915/request: Switch to use hrtimer_setup()
  drm/i915/uncore: Switch to use hrtimer_setup()
  drm/i915/pmu: Switch to use hrtimer_setup()
  drm/i915/perf: Switch to use hrtimer_setup()
  drm/i915/gvt: Switch to use hrtimer_setup()
  drm/i915/huc: Switch to use hrtimer_setup()
  drm/amdgpu: Switch to use hrtimer_setup()
  stm class: heartbeat: Switch to use hrtimer_setup()
  i2c: Switch to use hrtimer_setup()
  iio: Switch to use hrtimer_setup()
  ...
2025-03-25 10:54:15 -07:00
..
Makefile tracing: Disable branch profiling in noinstr code 2025-03-22 09:49:26 +01:00
autogroup.c sched_ext: Fixes for v6.14-rc2 2025-02-14 11:14:24 -08:00
autogroup.h
build_policy.c sched_ext: Move built-in idle CPU selection policy to a separate file 2025-01-27 12:43:43 -10:00
build_utility.c sched/debug: Make CONFIG_SCHED_DEBUG functionality unconditional 2025-03-19 22:20:53 +01:00
clock.c sched: Fix spelling in comments 2024-05-27 17:00:21 +02:00
completion.c
core.c A treewide hrtimer timer cleanup 2025-03-25 10:54:15 -07:00
core_sched.c sched/debug: Change SCHED_WARN_ON() to WARN_ON_ONCE() 2025-03-19 22:20:53 +01:00
cpuacct.c
cpudeadline.c
cpudeadline.h
cpufreq.c
cpufreq_schedutil.c cpufreq/schedutil: Only bind threads if needed 2025-01-23 21:09:25 +01:00
cpupri.c
cpupri.h
cputime.c sched/clock: Don't define sched_clock_irqtime as static key 2025-03-10 14:22:58 +01:00
deadline.c A treewide hrtimer timer cleanup 2025-03-25 10:54:15 -07:00
debug.c sched/topology: Wrappers for sched_domains_mutex 2025-03-17 11:23:41 +01:00
ext.c Scheduler updates for v6.15: 2025-03-24 21:28:12 -07:00
ext.h sched_ext: Implement SCX_OPS_ALLOW_QUEUED_WAKEUP 2025-02-13 07:30:46 -10:00
ext_idle.c sched_ext: idle: Refactor scx_select_cpu_dfl() 2025-03-14 08:17:11 -10:00
ext_idle.h sched_ext: idle: Refactor scx_select_cpu_dfl() 2025-03-14 08:17:11 -10:00
fair.c A treewide hrtimer timer cleanup 2025-03-25 10:54:15 -07:00
features.h sched/fair: Untangle NEXT_BUDDY and pick_next_task() 2024-12-09 11:48:13 +01:00
idle.c sched_ext: idle: Refresh idle masks during idle-to-idle transitions 2025-01-10 12:40:42 -10:00
isolation.c sched/isolation: Consolidate housekeeping cpumasks that are always identical 2024-12-02 12:24:28 +01:00
loadavg.c sched: Fix spelling in comments 2024-05-27 17:00:21 +02:00
membarrier.c RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
pelt.c sched/fair: Use the new cfs_rq.h_nr_runnable 2024-12-09 11:48:11 +01:00
pelt.h sched: Move update_other_load_avgs() to kernel/sched/pelt.c 2024-09-11 20:00:21 -10:00
psi.c sched, psi: Don't account irq time if sched_clock_irqtime is disabled 2025-01-13 14:10:26 +01:00
rt.c A treewide hrtimer timer cleanup 2025-03-25 10:54:15 -07:00
sched-pelt.h
sched.h sched/debug: Make CONFIG_SCHED_DEBUG functionality unconditional 2025-03-19 22:20:53 +01:00
smp.h
stats.c docs: Update Schedstat version to 17 2024-12-20 15:31:18 +01:00
stats.h sched/debug: Change SCHED_WARN_ON() to WARN_ON_ONCE() 2025-03-19 22:20:53 +01:00
stop_task.c sched: Add put_prev_task(.next) 2024-09-03 15:26:32 +02:00
swait.c
syscalls.c sched/uclamp: Optimize sched_uclamp_used static key enabling 2025-03-15 10:28:50 +01:00
topology.c sched/debug: Make CONFIG_SCHED_DEBUG functionality unconditional 2025-03-19 22:20:53 +01:00
wait.c
wait_bit.c sched/wait: Remove unused bit_wait_io_timeout 2024-10-07 09:28:41 +02:00