Messages in this thread | | | Date | Mon, 30 Mar 2020 14:47:11 -0000 | From | Thomas Gleixner <> | Subject | [GIT pull] timers/core for v5.7 |
| |
Linus,
please pull the latest timers/core branch from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-core-2020-03-30
up to: 4479730e9263: Revert "clocksource/drivers/timer-probe: Avoid creating dead devices"
timekeeping and timer updates:
Core:
- Consolidation of the vDSO build infrastructure to address the difficulties of cross-builds for ARM64 compat vDSO libraries by restricting the exposure of header content to the vDSO build.
This is achieved by splitting out header content into separate headers. which contain only the minimaly required information which is necessary to build the vDSO. These new headers are included from the kernel headers and the vDSO specific files.
- Enhancements to the generic vDSO library allowing more fine grained control over the compiled in code, further reducing architecture specific storage and preparing for adopting the generic library by PPC.
- Cleanup and consolidation of the exit related code in posix CPU timers.
- Small cleanups and enhancements here and there
Drivers:
- The obligatory new drivers: Ingenic JZ47xx and X1000 TCU support
- Correct the clock rate of PIT64b global clock
- setup_irq() cleanup
- Preparation for PWM and suspend support for the TI DM timer
- Expand the fttmr010 driver to support ast2600 systems
- The usual small fixes, enhancements and cleanups all over the place
Thanks,
tglx
------------------> Ahmed S. Darwish (1): time/sched_clock: Expire timer in hardirq context
Alexander Popov (1): timer: Improve the comment describing schedule_timeout()
Amol Grover (1): posix-timers: Pass lockdep expression to RCU lists
Anson Huang (2): clocksource/drivers/imx-tpm: Remove unused includes clocksource/drivers/imx-sysctr: Remove unused includes
Christophe Leroy (3): lib/vdso: Allow fixed clock mode lib/vdso: Allow architectures to override the ns shift operation lib/vdso: Allow architectures to provide the vdso data pointer
Claudiu Beznea (1): clocksource/drivers/timer-microchip-pit64b: Fix rate for gck
Eric W. Biederman (5): posix-cpu-timers: cpu_clock_sample_group() no longer needs siglock posix-cpu-timers: Remove unnecessary locking around cpu_clock_sample_group posix-cpu-timers: Pass the task into arm_timer() posix-cpu-timers: Store a reference to a pid not a task posix-cpu-timers: Stop disabling timers on mt-exec
Joel Stanley (3): clocksource/drivers/fttmr010: Parametrise shutdown clocksource/drivers/fttmr010: Set interrupt and shutdown dt-bindings: fttmr010: Add ast2600 compatible
Lokesh Vutla (6): clocksource/drivers/timer-ti-dm: Do not update counter on updating the period clocksource/drivers/timer-ti-dm: Convert to SPDX identifier clocksource/drivers/timer-ti-dm: Implement cpu_pm notifier for context save and restore clocksource/drivers/timer-ti-dm: Do not update counter on updating the period clocksource/drivers/timer-ti-dm: Add support to get pwm current status clocksource/drivers/timer-ti-dm: Enable autoreload in set_pwm
Maarten ter Huurne (1): clocksource: Add driver for the Ingenic JZ47xx OST
Matheus Castello (1): clocksource/drivers/owl: Improve owl_timer_init fail messages
Saravana Kannan (1): clocksource/drivers/timer-probe: Avoid creating dead devices
Suman Anna (1): clocksource/drivers/timer-ti-dm: Drop bogus omap_dm_timer_of_set_source()
Thomas Gleixner (16): x86/vdso: Mark the TSC clocksource path likely ARM: vdso: Remove unused function lib/vdso: Allow the high resolution parts to be compiled out ARM: vdso: Compile high resolution parts conditionally MIPS: vdso: Compile high resolution parts conditionally clocksource: Cleanup struct clocksource and documentation x86/vdso: Move VDSO clocksource state tracking to callback clocksource: Add common vdso clock mode storage x86/vdso: Use generic VDSO clock mode storage mips: vdso: Use generic VDSO clock mode storage ARM/arm64: vdso: Use common vdso clock mode storage lib/vdso: Cleanup clock mode storage leftovers lib/vdso: Avoid highres update if clocksource is not VDSO capable lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes Revert "tick/common: Make tick_periodic() check for missing ticks" Revert "clocksource/drivers/timer-probe: Avoid creating dead devices"
Tony Lindgren (1): clocksource/drivers/timer-ti-dm: Prepare for using cpuidle
Vincenzo Frascino (29): clocksource/drivers/arm_arch_timer: Fix vDSO clockmode when vDSO disabled linux/const.h: Extract common header for vDSO linux/bits.h: Extract common header for vDSO linux/limits.h: Extract common header for vDSO x86: Introduce asm/vdso/clocksource.h arm: Introduce asm/vdso/clocksource.h arm64: Introduce asm/vdso/clocksource.h mips: Introduce asm/vdso/clocksource.h linux/clocksource.h: Extract common header for vDSO linux/math64.h: Extract common header for vDSO linux/time.h: Extract common header for vDSO linux/time32.h: Extract common header for vDSO linux/time64.h: Extract common header for vDSO linux/jiffies.h: Extract common header for vDSO linux/ktime.h: Extract common header for vDSO common: Introduce processor.h scripts: Fix the inclusion order in modpost linux/elfnote.h: Replace elf.h with UAPI equivalent arm64: vdso32: Code clean up arm64: Introduce asm/vdso/processor.h arm64: vdso: Include common headers in the vdso library arm64: vdso32: Include common headers in the vdso library mips: vdso: Enable mips to use common headers x86/vdso: Enable x86 to use common headers arm: vdso: Enable arm to use common headers lib/vdso: Enable common headers arm64: vdso32: Enable Clang Compilation um: Fix header inclusion vdso: Fix clocksource.h macro detection
Waiman Long (1): tick/common: Make tick_periodic() check for missing ticks
Wen Yang (2): timekeeping: Prevent 32bit truncation in scale64_check_overflow() hrtimer: Cast explicitely to u32t in __ktime_divns()
afzal mohammed (2): clocksource: Replace setup_irq() by request_irq() clocksource/drivers/timer-cs5535: Request irq with non-NULL dev_id
周琰杰 (Zhou Yanjie) (2): dt-bindings: timer: Add X1000 bindings. clocksource/drivers/ingenic: Add support for TCU of X1000
.../devicetree/bindings/timer/faraday,fttmr010.txt | 1 + .../devicetree/bindings/timer/ingenic,tcu.txt | 1 + arch/arm/Kconfig | 1 - arch/arm/include/asm/clocksource.h | 7 +- arch/arm/include/asm/cp15.h | 20 +- arch/arm/include/asm/processor.h | 11 +- arch/arm/include/asm/vdso/clocksource.h | 8 + arch/arm/include/asm/vdso/cp15.h | 38 ++++ arch/arm/include/asm/vdso/gettimeofday.h | 22 ++- arch/arm/include/asm/vdso/processor.h | 22 +++ arch/arm/include/asm/vdso/vsyscall.h | 35 ---- arch/arm64/Kconfig | 1 - arch/arm64/include/asm/clocksource.h | 4 +- arch/arm64/include/asm/processor.h | 7 +- arch/arm64/include/asm/vdso/clocksource.h | 8 + arch/arm64/include/asm/vdso/compat_gettimeofday.h | 21 +- arch/arm64/include/asm/vdso/gettimeofday.h | 12 +- arch/arm64/include/asm/vdso/processor.h | 17 ++ arch/arm64/include/asm/vdso/vsyscall.h | 9 - arch/arm64/kernel/vdso/vgettimeofday.c | 2 - arch/arm64/kernel/vdso32/Makefile | 11 ++ arch/arm64/kernel/vdso32/vgettimeofday.c | 14 -- arch/mips/Kconfig | 1 - arch/mips/include/asm/clocksource.h | 16 +- arch/mips/include/asm/processor.h | 16 +- arch/mips/include/asm/vdso/clocksource.h | 9 + arch/mips/include/asm/vdso/gettimeofday.h | 39 ++-- arch/mips/include/asm/vdso/processor.h | 27 +++ arch/mips/include/asm/vdso/vsyscall.h | 9 - arch/mips/kernel/csrc-r4k.c | 2 +- arch/x86/Kconfig | 1 - arch/x86/entry/vdso/vma.c | 8 +- arch/x86/include/asm/clocksource.h | 20 +- arch/x86/include/asm/mshyperv.h | 4 +- arch/x86/include/asm/processor.h | 12 +- arch/x86/include/asm/vdso/clocksource.h | 10 + arch/x86/include/asm/vdso/gettimeofday.h | 6 +- arch/x86/include/asm/vdso/processor.h | 23 +++ arch/x86/include/asm/vdso/vsyscall.h | 15 -- arch/x86/include/asm/vgtod.h | 12 +- arch/x86/kernel/kvmclock.c | 9 +- arch/x86/kernel/pvclock.c | 2 +- arch/x86/kernel/time.c | 12 +- arch/x86/kernel/tsc.c | 32 +-- arch/x86/kvm/trace.h | 4 +- arch/x86/kvm/x86.c | 22 +-- arch/x86/xen/time.c | 36 ++-- drivers/clocksource/Kconfig | 8 + drivers/clocksource/Makefile | 1 + drivers/clocksource/arm_arch_timer.c | 12 +- drivers/clocksource/bcm2835_timer.c | 8 +- drivers/clocksource/bcm_kona_timer.c | 10 +- drivers/clocksource/dw_apb_timer.c | 11 +- drivers/clocksource/exynos_mct.c | 12 +- drivers/clocksource/hyperv_timer.c | 7 + drivers/clocksource/ingenic-ost.c | 189 ++++++++++++++++++ drivers/clocksource/ingenic-timer.c | 3 +- drivers/clocksource/mips-gic-timer.c | 8 +- drivers/clocksource/mxs_timer.c | 10 +- drivers/clocksource/nomadik-mtu.c | 11 +- drivers/clocksource/samsung_pwm_timer.c | 12 +- drivers/clocksource/timer-atlas7.c | 50 +++-- drivers/clocksource/timer-cs5535.c | 9 +- drivers/clocksource/timer-efm32.c | 10 +- drivers/clocksource/timer-fsl-ftm.c | 10 +- drivers/clocksource/timer-fttmr010.c | 68 +++++-- drivers/clocksource/timer-imx-gpt.c | 10 +- drivers/clocksource/timer-imx-sysctr.c | 2 - drivers/clocksource/timer-imx-tpm.c | 2 - drivers/clocksource/timer-integrator-ap.c | 11 +- drivers/clocksource/timer-meson6.c | 11 +- drivers/clocksource/timer-microchip-pit64b.c | 1 + drivers/clocksource/timer-orion.c | 9 +- drivers/clocksource/timer-owl.c | 15 +- drivers/clocksource/timer-prima2.c | 14 +- drivers/clocksource/timer-pxa.c | 10 +- drivers/clocksource/timer-sp804.c | 11 +- drivers/clocksource/timer-ti-dm.c | 217 +++++++++++---------- drivers/clocksource/timer-u300.c | 9 +- drivers/clocksource/timer-vf-pit.c | 10 +- drivers/clocksource/timer-vt8500.c | 11 +- drivers/clocksource/timer-zevio.c | 13 +- drivers/pwm/pwm-omap-dmtimer.c | 8 +- include/asm-generic/vdso/vsyscall.h | 14 -- include/clocksource/timer-ti-dm.h | 4 +- include/linux/bits.h | 2 +- include/linux/clocksource.h | 93 +++++---- include/linux/const.h | 5 +- include/linux/dw_apb_timer.h | 1 - include/linux/elfnote.h | 2 +- include/linux/jiffies.h | 4 +- include/linux/ktime.h | 9 +- include/linux/limits.h | 13 +- include/linux/math64.h | 20 +- include/linux/platform_data/dmtimer-omap.h | 6 +- include/linux/posix-timers.h | 2 +- include/linux/time.h | 5 +- include/linux/time32.h | 14 +- include/linux/time64.h | 10 +- include/vdso/bits.h | 9 + include/vdso/clocksource.h | 22 +++ include/vdso/const.h | 10 + include/vdso/datapage.h | 35 +++- include/vdso/jiffies.h | 11 ++ include/vdso/ktime.h | 16 ++ include/vdso/limits.h | 19 ++ include/vdso/math64.h | 24 +++ include/vdso/processor.h | 14 ++ include/vdso/time.h | 12 ++ include/vdso/time32.h | 17 ++ include/vdso/time64.h | 14 ++ kernel/exit.c | 11 +- kernel/time/clocksource.c | 9 + kernel/time/hrtimer.c | 2 +- kernel/time/namespace.c | 7 +- kernel/time/posix-cpu-timers.c | 148 +++++++------- kernel/time/posix-timers.c | 3 +- kernel/time/sched_clock.c | 9 +- kernel/time/timekeeping.c | 3 +- kernel/time/timer.c | 16 +- kernel/time/vsyscall.c | 12 +- lib/vdso/gettimeofday.c | 153 ++++++++++----- scripts/mod/modpost.c | 6 +- 123 files changed, 1290 insertions(+), 928 deletions(-) create mode 100644 arch/arm/include/asm/vdso/clocksource.h create mode 100644 arch/arm/include/asm/vdso/cp15.h create mode 100644 arch/arm/include/asm/vdso/processor.h create mode 100644 arch/arm64/include/asm/vdso/clocksource.h create mode 100644 arch/arm64/include/asm/vdso/processor.h create mode 100644 arch/mips/include/asm/vdso/clocksource.h create mode 100644 arch/mips/include/asm/vdso/processor.h create mode 100644 arch/x86/include/asm/vdso/clocksource.h create mode 100644 arch/x86/include/asm/vdso/processor.h create mode 100644 drivers/clocksource/ingenic-ost.c create mode 100644 include/vdso/bits.h create mode 100644 include/vdso/clocksource.h create mode 100644 include/vdso/const.h create mode 100644 include/vdso/jiffies.h create mode 100644 include/vdso/ktime.h create mode 100644 include/vdso/limits.h create mode 100644 include/vdso/math64.h create mode 100644 include/vdso/processor.h create mode 100644 include/vdso/time.h create mode 100644 include/vdso/time32.h create mode 100644 include/vdso/time64.h
| |