[PATCH 00/10] tick/nohz updates

From: Frederic Weisbecker
Date: Thu Mar 11 2021 - 07:38:26 EST


Various updates for the timer/nohz side.

* Two fixes (maybe 01/10 deserves a stable tag, I should check)

* A Kconfig help change

* A debug check while enqueuing timers when the tick is stopped in idle.

* The rest is noise reduction for full nohz ("tick/nohz: Kick only
_queued_ task whose tick dependency is updated").
It relies on the fact that p->on_rq is never set to anything else than
TASK_ON_RQ_QUEUED while the task is running on a CPU, the only relevant
exception being the task dequeuing itself on schedule().
I haven't found issues in my modest reviews of deactivate_task() callers
but I lost my headlamp while visiting fair's sched entity dequeuing
and throttling (had to find my way back in the dark again).

So please double check the last patch.

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

HEAD: e469edfa00f97e5ec5d31fe31d3aef0a5c9bd607

Thanks,
Frederic
---

Frederic Weisbecker (5):
tick/nohz: Add tick_nohz_full_this_cpu()
tick/nohz: Remove superflous check for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
timer: Report ignored local enqueue in nohz mode
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

Zhou Ti (x2019cwm) (1):
tick/nohz: Prevent tick_nohz_get_sleep_length() from returning negative value


include/linux/sched.h | 2 +
include/linux/tick.h | 19 ++++--
kernel/sched/core.c | 25 +++++++-
kernel/time/Kconfig | 11 ++--
kernel/time/posix-cpu-timers.c | 4 +-
kernel/time/tick-sched.c | 134 +++++++++++++++++++++++++++++------------
6 files changed, 142 insertions(+), 53 deletions(-)