Updates for timekeeping, timers and related drivers:

Core code:

  - Cure a couple of incorrectness issues in the posix CPU timer code to
    prevent that the tick dependency for NOHZ full is kept alive for no
    reason.

  - Avoid expensive double reprogramming of the clockevent device in
    hrtimer_start_range_ns().

  - Avoid pointless SMP function calls when the clock was set to avoid
    disturbing CPUs which do not have any affected timers queued.

  - Make the clocksource watchdog test work correctly when CONFIG_HZ is
    less than 100.

Drivers:

  - Prefer the ARM architected timer over the Exynos timer which is way
    more expensive to access.

  - Add device tree bindings for new Ingenic SoCs

  - The usual improvements and cleanups all over the place
clocksource: Make clocksource watchdog test safe for slow-HZ systems

The clocksource watchdog test sets a local JIFFIES_SHIFT macro and assumes
that HZ is >= 100. For smaller HZ values this shift value is too large and
causes undefined behaviour.

Move the HZ-based definitions of JIFFIES_SHIFT from kernel/time/jiffies.c
to kernel/time/tick-internal.h so the clocksource watchdog test can utilize
them, which makes it work correctly with all HZ values.

[ tglx: Resolved conflicts and massaged changelog ]

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/lkml/20210812000133.GA402890@paulmck-ThinkPad-P17-Gen-1/
3 files changed