Skip to content

tick cleanups and bugfixes

Viresh Kumar lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest37 of 38 patches 16 repliesIn review

37 of 38 patches are in this archive. The cover letter announces 38.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/38tick: align to Coding Guidelinesinclude/linux/tick.h kernel/time/tick-broadcast.c kernel/time/tick-internal.h +2 more+29 -270 replies
2/38tick: update doc comments for struct tick_schedinclude/linux/tick.h+9 -10 replies
3/38tick: rearrange members of 'struct tick_sched'include/linux/tick.h+17 -170 replies
4/38tick: move declaration of tick_cpu_device to tick.hinclude/linux/hrtimer.h include/linux/tick.h kernel/time/tick-internal.h+2 -40 replies
5/38tick: move definition of tick_get_device() to tick.hinclude/linux/tick.h kernel/time/clockevents.c kernel/time/tick-broadcast.c +1 more+15 -170 replies
6/38tick: create tick_get_cpu_device() to get tick_cpu_device on this cpuinclude/linux/tick.h kernel/hrtimer.c kernel/time/tick-broadcast.c +3 more+17 -120 replies
7/38tick-oneshot: drop local_irq_save/restore from tick_switch_to_oneshot()kernel/time/tick-oneshot.c+1 -80 replies
8/38tick-oneshot: move tick_is_oneshot_available() to tick-oneshot.cinclude/linux/tick.h kernel/time/tick-common.c kernel/time/tick-internal.h +1 more+16 -150 replies
9/38tick-oneshot: remove tick_resume_oneshot()kernel/time/tick-common.c kernel/time/tick-internal.h kernel/time/tick-oneshot.c+5 -190 replies
10/38tick-common: remove extra checks from tick_check_new_device()kernel/time/tick-common.c+3 -100 replies
11/38tick-common: fix wrong check in tick_check_replacement()kernel/time/tick-common.c+1 -10 replies
12/38tick-common: call tick_check_percpu() from tick_check_preferred()kernel/time/tick-common.c+3 -70 replies
13/38tick-common: don't check tick_oneshot_mode_active() from tick_check_preferred()kernel/time/tick-common.c+0 -20 replies
14/38tick-common: do additional checks in tick_check_preferred()kernel/time/tick-common.c+18 -70 replies
15/38tick-common: remove tick_check_replacement()kernel/time/clockevents.c kernel/time/tick-common.c kernel/time/tick-internal.h+7 -130 replies
16/38tick-common: don't pass cpumask to tick_setup_device()kernel/time/tick-common.c+4 -40 replies
17/38tick-common: call tick_install_replacement() from tick_check_new_device()kernel/time/tick-common.c+3 -70 replies
18/38tick-common: don't set mode to CLOCK_EVT_MODE_UNUSED in tick_shutdown()kernel/time/tick-common.c+0 -12 replies
19/38tick-common: remove local variable 'broadcast' from tick_resume()kernel/time/tick-common.c+7 -80 replies
20/38tick-sched: initialize 'cpu' while defining it in tick_nohz_full_setup()kernel/time/tick-sched.c+1 -20 replies
21/38tick-sched: no need to rewrite '1' to tick_nohz_enabledkernel/time/tick-sched.c+1 -40 replies
22/38tick-sched: no need to recheck cpu_online() in can_stop_idle_tick()kernel/time/tick-sched.c+1 -12 replies
23/38tick-sched: invert parameter of tick_check_oneshot_change()include/linux/tick.h kernel/hrtimer.c kernel/time/tick-sched.c+9 -90 replies
24/38tick-sched: don't check tick_nohz_full_cpu() in __tick_nohz_task_switch()kernel/time/tick-sched.c+0 -41 reply
25/38tick-sched: don't call local_softirq_pending() thrice in can_stop_idle_tick()kernel/time/tick-sched.c+5 -50 replies
26/38tick-sched: don't call update_wall_time() when delta is lesser than tick_periodkernel/time/tick-sched.c+17 -150 replies
27/38tick-sched: remove 'regs' parameter of tick_sched_handle()kernel/time/tick-sched.c+12 -110 replies
28/38tick-sched: remove parameters to {__}tick_nohz_task_switch() routinesinclude/linux/tick.h kernel/sched/core.c kernel/time/tick-sched.c+6 -61 reply
29/38tick-sched: remove wrapper around __tick_nohz_task_switch()include/linux/tick.h kernel/time/tick-sched.c+7 -116 replies
30/38tick-sched: move nohz_full_buf[] inside tick_nohz_init()kernel/time/tick-sched.c+6 -72 replies
31/38tick-sched: initialize 'ts' during its definition __tick_nohz_idle_enter()kernel/time/tick-sched.c+1 -20 replies
32/38tick-sched: add comment about 'idle_active' in tick_nohz_idle_exit()kernel/time/tick-sched.c+16 -00 replies
34/38tick-sched: remove local variable 'now' from tick_setup_sched_timer()kernel/time/tick-sched.c+1 -30 replies
35/38tick-broadcast: do checks before taking locks in tick_do_broadcast_on_off()kernel/time/tick-broadcast.c+7 -130 replies
36/38tick-broadcast: get rid of extra comparison in tick_do_broadcast_on_off()kernel/time/tick-broadcast.c+2 -30 replies
37/38tick-broadcast: merge tick_do_broadcast_on_off() into tick_broadcast_on_off()kernel/time/tick-broadcast.c+8 -150 replies
38/38clockevents: set event_handler to clockevents_handle_noop() in clockevents_exchange_device()include/linux/clockchips.h kernel/time/clockevents.c kernel/time/tick-broadcast.c +1 more+7 -110 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/38] tick cleanups and bugfixes

Hi Thomas,

These are separate cleanups from the timers/hrtimers ones I did. I was waiting for the merge window to close in order to send these and by the time it happened, I got a long pending list.

These are mostly cleanups, reorders for better readability or efficiency, and few bugfixes.

I have pushed these here as well:

git://git.linaro.org/people/viresh.kumar/linux.git tick-cleanups

They will be tested by kbuild bot also starting from tonight.

Viresh Kumar (38):
tick: align to Coding Guidelines
tick: update doc comments for struct tick_sched
tick: rearrange members of 'struct tick_sched'
tick: move declaration of tick_cpu_device to tick.h
tick: move definition of tick_get_device() to tick.h
tick: create tick_get_cpu_device() to get tick_cpu_device on this cpu
tick-oneshot: drop local_irq_save/restore from
tick_switch_to_oneshot()
tick-oneshot: move tick_is_oneshot_available() to tick-oneshot.c
tick-oneshot: remove tick_resume_oneshot()
tick-common: remove extra checks from tick_check_new_device()
tick-common: fix wrong check in tick_check_replacement()
tick-common: call tick_check_percpu() from tick_check_preferred()
tick-common: don't check tick_oneshot_mode_active() from
tick_check_preferred()
tick-common: do additional checks in tick_check_preferred()
tick-common: remove tick_check_replacement()
tick-common: don't pass cpumask to tick_setup_device()
tick-common: call tick_install_replacement() from
tick_check_new_device()
tick-common: don't set mode to CLOCK_EVT_MODE_UNUSED in
tick_shutdown()
tick-common: remove local variable 'broadcast' from tick_resume()
tick-sched: initialize 'cpu' while defining it in
tick_nohz_full_setup()
tick-sched: no need to rewrite '1' to tick_nohz_enabled
tick-sched: no need to recheck cpu_online() in can_stop_idle_tick()
tick-sched: invert parameter of tick_check_oneshot_change()
tick-sched: don't check tick_nohz_full_cpu() in

    __tick_nohz_task_switch()
  tick-sched: don't call local_softirq_pending() thrice in
    can_stop_idle_tick()
  tick-sched: don't call update_wall_time() when delta is lesser than
    tick_period
  tick-sched: remove 'regs' parameter of tick_sched_handle()
  tick-sched: remove parameters to {__}tick_nohz_task_switch() routines
  tick-sched: remove wrapper around __tick_nohz_task_switch()
  tick-sched: move nohz_full_buf[] inside tick_nohz_init()
  tick-sched: initialize 'ts' during its definition
    __tick_nohz_idle_enter()

tick-sched: add comment about 'idle_active' in tick_nohz_idle_exit()
tick-sched: replace tick_nohz_active with tick_nohz_enabled in
tick_nohz_switch_to_nohz()
tick-sched: remove local variable 'now' from tick_setup_sched_timer()
tick-broadcast: do checks before taking locks in
tick_do_broadcast_on_off()
tick-broadcast: get rid of extra comparison in
tick_do_broadcast_on_off()
tick-broadcast: merge tick_do_broadcast_on_off() into
tick_broadcast_on_off()
clockevents: set event_handler to clockevents_handle_noop() in
clockevents_exchange_device()

 include/linux/clockchips.h   |   2 -
 include/linux/hrtimer.h      |   3 -
 include/linux/tick.h         |  65 ++++++++++-------
 kernel/hrtimer.c             |   4 +-
 kernel/sched/core.c          |   2 +-
 kernel/time/clockevents.c    |  11 +--
 kernel/time/tick-broadcast.c |  74 +++++++-------------
 kernel/time/tick-common.c    | 126 +++++++++++++--------------------
 kernel/time/tick-internal.h  |  15 ++--
 kernel/time/tick-oneshot.c   |  37 +++++-----
 kernel/time/tick-sched.c     | 163 +++++++++++++++++++++++--------------------
 11 files changed, 232 insertions(+), 270 deletions(-)
Signature · 1 line
1.7.12.rc2.18.g61b472e