mirror of https://github.com/torvalds/linux.git
Pull core timer updates from Thomas Gleixner:
"Timers and timekeeping updates:
- A large overhaul of the posix CPU timer code which is a preparation
for moving the CPU timer expiry out into task work so it can be
properly accounted on the task/process.
An update to the bogus permission checks will come later during the
merge window as feedback was not complete before heading of for
travel.
- Switch the timerqueue code to use cached rbtrees and get rid of the
homebrewn caching of the leftmost node.
- Consolidate hrtimer_init() + hrtimer_init_sleeper() calls into a
single function
- Implement the separation of hrtimers to be forced to expire in hard
interrupt context even when PREEMPT_RT is enabled and mark the
affected timers accordingly.
- Implement a mechanism for hrtimers and the timer wheel to protect
RT against priority inversion and live lock issues when a (hr)timer
which should be canceled is currently executing the callback.
Instead of infinitely spinning, the task which tries to cancel the
timer blocks on a per cpu base expiry lock which is held and
released by the (hr)timer expiry code.
- Enable the Hyper-V TSC page based sched_clock for Hyper-V guests
resulting in faster access to timekeeping functions.
- Updates to various clocksource/clockevent drivers and their device
tree bindings.
- The usual small improvements all over the place"
* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (101 commits)
posix-cpu-timers: Fix permission check regression
posix-cpu-timers: Always clear head pointer on dequeue
hrtimer: Add a missing bracket and hide `migration_base' on !SMP
posix-cpu-timers: Make expiry_active check actually work correctly
posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build
tick: Mark sched_timer to expire in hard interrupt context
hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD
x86/hyperv: Hide pv_ops access for CONFIG_PARAVIRT=n
posix-cpu-timers: Utilize timerqueue for storage
posix-cpu-timers: Move state tracking to struct posix_cputimers
posix-cpu-timers: Deduplicate rlimit handling
posix-cpu-timers: Remove pointless comparisons
posix-cpu-timers: Get rid of 64bit divisions
posix-cpu-timers: Consolidate timer expiry further
posix-cpu-timers: Get rid of zero checks
rlimit: Rewrite non-sensical RLIMIT_CPU comment
posix-cpu-timers: Respect INFINITY for hard RTTIME limit
posix-cpu-timers: Switch thread group sampling to array
posix-cpu-timers: Restructure expiry array
posix-cpu-timers: Remove cputime_expires
...
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| acpi_pm.c | ||
| arc_timer.c | ||
| arm_arch_timer.c | ||
| arm_global_timer.c | ||
| armv7m_systick.c | ||
| asm9260_timer.c | ||
| bcm2835_timer.c | ||
| bcm_kona_timer.c | ||
| clksrc-dbx500-prcmu.c | ||
| clksrc_st_lpc.c | ||
| clps711x-timer.c | ||
| dummy_timer.c | ||
| dw_apb_timer.c | ||
| dw_apb_timer_of.c | ||
| em_sti.c | ||
| exynos_mct.c | ||
| h8300_timer8.c | ||
| h8300_timer16.c | ||
| h8300_tpu.c | ||
| hyperv_timer.c | ||
| i8253.c | ||
| jcore-pit.c | ||
| mips-gic-timer.c | ||
| mmio.c | ||
| mps2-timer.c | ||
| mxs_timer.c | ||
| nomadik-mtu.c | ||
| numachip.c | ||
| renesas-ostm.c | ||
| samsung_pwm_timer.c | ||
| scx200_hrt.c | ||
| sh_cmt.c | ||
| sh_mtu2.c | ||
| sh_tmu.c | ||
| timer-armada-370-xp.c | ||
| timer-atcpit100.c | ||
| timer-atlas7.c | ||
| timer-atmel-pit.c | ||
| timer-atmel-st.c | ||
| timer-atmel-tcb.c | ||
| timer-cadence-ttc.c | ||
| timer-cs5535.c | ||
| timer-davinci.c | ||
| timer-digicolor.c | ||
| timer-efm32.c | ||
| timer-fsl-ftm.c | ||
| timer-fttmr010.c | ||
| timer-gx6605s.c | ||
| timer-imx-gpt.c | ||
| timer-imx-sysctr.c | ||
| timer-imx-tpm.c | ||
| timer-integrator-ap.c | ||
| timer-ixp4xx.c | ||
| timer-keystone.c | ||
| timer-lpc32xx.c | ||
| timer-mediatek.c | ||
| timer-meson6.c | ||
| timer-milbeaut.c | ||
| timer-mp-csky.c | ||
| timer-npcm7xx.c | ||
| timer-nps.c | ||
| timer-of.c | ||
| timer-of.h | ||
| timer-orion.c | ||
| timer-owl.c | ||
| timer-oxnas-rps.c | ||
| timer-pistachio.c | ||
| timer-prima2.c | ||
| timer-probe.c | ||
| timer-pxa.c | ||
| timer-qcom.c | ||
| timer-rda.c | ||
| timer-riscv.c | ||
| timer-rockchip.c | ||
| timer-sp.h | ||
| timer-sp804.c | ||
| timer-sprd.c | ||
| timer-stm32.c | ||
| timer-sun4i.c | ||
| timer-sun5i.c | ||
| timer-tango-xtal.c | ||
| timer-tegra.c | ||
| timer-ti-32k.c | ||
| timer-ti-dm.c | ||
| timer-u300.c | ||
| timer-versatile.c | ||
| timer-vf-pit.c | ||
| timer-vt8500.c | ||
| timer-zevio.c | ||