[PATCH 0/8] tick/nohz updates v2

From: Frederic Weisbecker
Date: Thu Apr 22 2021 - 08:02:08 EST


This set brings various interrupts reducing while running in nohz_full:

* Remove one tick interrupt while waking up from idle to a user task
running in nohz_full mode. (thanks Yunfeng Ye).

* Reduce IPIs when running posix cpu timers, only relevant tasks should
be interrupted now instead of all tick nohz CPUs (thanks Marcelo)

And a few other cleanups and improvement.

Changes since last take:

- Remove "tick/nohz: Prevent tick_nohz_get_sleep_length() from returning negative value"
since the issue has been solve on the cpuidle side.

- Remove "timer: Report ignored local enqueue in nohz mode"
and hope that objtool will spot the future offenders.

- Changed "tick/nohz: Add tick_nohz_full_this_cpu()" and provide with
"tick/nohz: Evaluate the CPU expression after the static key" (please
add your SOB on this one).

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/nohz-v2

HEAD: 4546d43a9938f6c7eec024f005cb240b8b73637b

Thanks,
Frederic
---

Frederic Weisbecker (3):
tick/nohz: Remove superflous check for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
tick/nohz: Update nohz_full Kconfig help
tick/nohz: Only wakeup a single target cpu when kicking a task

Marcelo Tosatti (2):
tick/nohz: Change signal tick dependency to wakeup CPUs of member tasks
tick/nohz: Kick only _queued_ task whose tick dependency is updated

Yunfeng Ye (2):
tick/nohz: Conditionally restart tick on idle exit
tick/nohz: Update idle_exittime on actual idle exit

Peter Zijlstra (1):
tick/nohz: Evaluate the CPU expression after the static key


include/linux/sched.h | 2 +
include/linux/tick.h | 26 +++++----
kernel/sched/core.c | 5 ++
kernel/time/Kconfig | 11 ++--
kernel/time/posix-cpu-timers.c | 4 +-
kernel/time/tick-sched.c | 122 +++++++++++++++++++++++++++++------------
6 files changed, 117 insertions(+), 53 deletions(-)