Hi Thomas,
I know you are not going to look at these before end of this merge window and
you wanted to have a look at V1 before me posting these. But I am reposting them
now due to these reasons:
- Need to resend my cpu isolation (cpuset.quiesce) patches which are based of
these
- Few patches are dropped/merged/fixed/updated and so all the patches from V1
wouldn't have made sense
- There were some new patches as well which I wanted to send
These have gone through fair bit of testing via kbuild system maintained by
Fengguang Wu.
These are some minor cleanups and potential bug fixes in there. These are based
of tip/timers-core-for-linus ..
V1 of most of these patches (~28) were posted here:
https://lkml.org/lkml/2014/3/26/107https://lkml.org/lkml/2014/3/28/148
V1->V2:
- few new patches:
- patches around for_each_active_base()
- hrtimer: call switch_hrtimer_base() after setting new expiry time
- Some other minor cleanups
- few patches are dropped
- few are merged together as they covered same stuff
- rebased all patches and moved the patches removing parameters or return values
at the bottom, so that others can be applied easily. Though as per my last
mail, it doesn't look like they are making the 'text' segments any bigger.
Viresh Kumar (36):
hrtimer: replace 'tab' with 'space' after 'comma'
hrtimer: Fix comment mistake over hrtimer_force_reprogram()
hrtimer: fix routine names in comments
hrtimer: remove {} around a single liner 'for' loop in
migrate_hrtimers()
hrtimer: Coalesce format fragments in printk()
hrtimer: remove dummy definition of hrtimer_force_reprogram()
hrtimer: replace sizeof(struct hrtimer) with sizeof(*timer)
hrtimer: move unlock_hrtimer_base() upwards
hrtimer: call hrtimer_set_expires_range() from
hrtimer_set_expires_range_ns()
hrtimer: use base->index instead of basenum in switch_hrtimer_base()
hrtimer: no need to rewrite '1' to hrtimer_hres_enabled
hrtimer: use base->hres_active directly instead of
hrtimer_hres_active()
hrtimer: don't check state of base->hres_active in
hrtimer_switch_to_hres()
hrtimer: reorder code in __remove_hrtimer()
hrtimer: don't emulate notifier call to initialize timer base
hrtimer: Create hrtimer_get_monoexpires()
hrtimer: don't check if timer is queued in __remove_hrtimer()
hrtimer: rewrite switch_hrtimer_base() to remove extra indentation
level
hrtimer: rewrite remove_hrtimer() to remove extra indentation level
hrtimer: replace base by new_base to get resolution:
__hrtimer_start_range_ns()
hrtimer: create base_on_this_cpu()
hrtimer: clear active_bases as soon as the timer is removed
hrtimer: create for_each_active_base()
hrtimer: Use for_each_active_base() to iterate over active clock
bases
hrtimer: call hrtimer_get_softirq_time() only if
cpu_base->active_bases is set
hrtimer: take lock only once for a cpu_base in hrtimer_run_queues()
hrtimer: call switch_hrtimer_base() after setting new expiry time
hrtimer: remove 'base' parameter from remove_timer() and
__remove_timer()
hrtimer: remove 'base' parameter from switch_hrtimer_base()
hrtimer: remove 'base' parameter from enqueue_hrtimer()
hrtimer: remove 'base' parameter from hrtimer_{enqueue_}reprogram()
hrtimer: make switch_hrtimer_base() return void
hrtimer: make lock_hrtimer_base() return void
hrtimer: make enqueue_hrtimer() return void
timer: simplify CPU_UP_PREPARE notifier code path
timer: don't emulate notifier call to initialize timer base
include/linux/hrtimer.h | 14 +-
kernel/hrtimer.c | 365 ++++++++++++++++++++++--------------------------
kernel/timer.c | 12 +-
3 files changed, 179 insertions(+), 212 deletions(-)
--
1.7.12.rc2.18.g61b472e
As suggested by you (https://lkml.org/lkml/2014/4/14/797), this is the second
lot of changes I have. I have divided the earlier patchset into three parts:
- Bugfixes, already merged
- Code cleanups which shouldn't have any functional change
- Code cleanups which may have any functional change
This patchset is targeting the second part now. Its just about moving the code
around to make it more readable and obvious. Not removing any code at all, that
will be addressed in next series.
V1->V2: Actually V1 was never reviewed and so it is mostly a resend of V1. Some
rearrangement of patches is done though.
Viresh Kumar (19):
tick: trivial cleanups
tick: update doc style 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: initialize variables during their definitions
tick-oneshot: move tick_is_oneshot_available() to tick-oneshot.c
tick-oneshot: remove tick_resume_oneshot()
tick-common: call tick_check_percpu() from tick_check_preferred()
tick-common: remove tick_check_replacement()
tick-common: don't pass 'cpu' & 'cpumask' to tick_setup_device()
tick-common: remove local variable 'broadcast' from tick_resume()
tick-sched: add comment about 'idle_active' in tick_nohz_idle_exit()
tick-sched: define 'delta' inside 'if' block in
update_ts_time_stats()
tick-sched: remove parameters to {__}tick_nohz_task_switch() routines
tick-sched: remove local variable 'now' from tick_setup_sched_timer()
tick-sched: invert parameter of tick_check_oneshot_change()
tick-sched: rearrange code in tick_do_update_jiffies64()
include/linux/hrtimer.h | 3 --
include/linux/tick.h | 62 +++++++++++++++++++-----------
kernel/hrtimer.c | 4 +-
kernel/sched/core.c | 2 +-
kernel/time/clockevents.c | 12 +++---
kernel/time/clocksource.c | 14 +++----
kernel/time/tick-broadcast.c | 48 +++++++++--------------
kernel/time/tick-common.c | 90 ++++++++++++++------------------------------
kernel/time/tick-internal.h | 15 ++++----
kernel/time/tick-oneshot.c | 34 +++++++++--------
kernel/time/tick-sched.c | 80 +++++++++++++++++++++++----------------
kernel/time/timekeeping.c | 10 ++---
12 files changed, 177 insertions(+), 197 deletions(-)
--
1.7.12.rc2.18.g61b472e