: clocksource: new material for 3.13
Hi Thomas,
this pull request is based on 3.12-rc3 with the following content:
- Miroslav improved the RTC update by increasing the interval
acceptable for an update in the sync_cmos_clock workqueue callback
- Prarit added a missing function declaration to fix a compilation
issue on x86. Please *note*, this patch is coming from a pull from John's tree, it would make sense to cherry-pick this fix into timers/urgent
- Soren added FEAT_PERCPU to a clock device when it is local per cpu.
This feature prevents the clock framework to choose a per cpu timer as a broadcast timer. This problem arised when the ARM global timer is used which is the case now on Xillinx.
- Stephen extended the generic sched_clock code to support 64bit
counters and removes the setup_sched_clock deprecation, as that causes lots of warnings since there's still users in the arch/arm tree.
- Will and Sudeep implemented the event stream for architected timer.
The event streams can be used to impose a timeout on a wfe, to safeguard against any programming error in case an expected event is not generated or even to implement wfe-based timeouts for userspace locking implementations.
- Zoran prevents to enter suspend mode if there are pending RTC timers
to be handled, avoiding these ones to be delayed as well as the subsequent possible time critical code tied with them.
Thanks
-- Daniel
The following changes since commit 15c03dd4859ab16f9212238f29dd315654aa94f6:
Linux 3.12-rc3 (2013-09-29 15:02:38 -0700)
are available in the git repository at:
git://git.linaro.org/people/dlezcano/linux.git clockevents/3.13
for you to fetch changes up to 7267c876a4784f9b9a75d057bc487b6a5e01ced9:
Merge branch 'clockevents/3-13.arch-timer' into clockevents/3.13
(2013-09-30 16:37:56 +0200)
----------------------------------------------------------------
Daniel Lezcano (3):
Merge branch 'fordlezcano/3.13/sched-clock64-conversion' ofgit://git.linaro.org/people/jstultz/linux into clockevents/3.13
Merge branch 'clockevents/3-13.global-timer' into clockevents/3.13 Merge branch 'clockevents/3-13.arch-timer' into clockevents/3.13
John Stultz (3):
Merge branch 'fortglx/3.12/sched-clock64-base' into fortglx/3.13/time
Merge branch 'fortglx/3.12/time' into fortglx/3.13/time
Merge remote-tracking branch 'tip/timers/core' into fordlezcano/3.13/sched-clock64-conversion
Miroslav Lichvar (1):
ntp: Make periodic RTC update more reliable
Prarit Bhargava (1):
clocksource: Fix !CONFIG_CLOCKSOURCE_WATCHDOG compile
Soren Brinkmann (4):
clockchips: Add FEAT_PERCPU clockevent flag clocksource/arm_global_timer: Set FEAT_PERCPU flag
tick: broadcast: Deny per-cpu clockevents from being broadcast
sources
arm: zynq: Enable arm_global_timer
Stephen Boyd (14):
clocksource: Extract max nsec calculation into separate function
sched_clock: Use seqcount instead of rolling our own
sched_clock: Use an hrtimer instead of timer
sched_clock: Add support for >32 bit sched_clock
clocksource: bcm2835: Switch to sched_clock_register()
clocksource: dbx500-prcmu: Switch to sched_clock_register()
clocksource: dw_apb_timer_of: Switch to sched_clock_register()
clocksource: mxs_timer: Switch to sched_clock_register()
clocksource: nomadik: Switch to sched_clock_register()
clocksource: samsung_pwm_timer: Switch to sched_clock_register()
clocksource: tegra: Switch to sched_clock_register()
clocksource: time-armada-370-xp: Switch to sched_clock_register()
clocksource: sirf: Switch to sched_clock_register() and use 64 bits
clocksource: vf_pit_timer: Switch to sched_clock_register()
Sudeep KarkadaNagesha (4):
ARM/ARM64: arch_timer: add macros for bits in control register
ARM: arch_timer: add support to configure and enable event stream
ARM64: arch_timer: add support to configure and enable event stream
drivers: clocksource: add CPU PM notifier for ARM architected timer
Will Deacon (1):
drivers: clocksource: add support for ARM architected timer event
stream
Zoran Markovic (1):
rtc: Keep system awake until all expired RTC timers are handled
arch/arm/boot/dts/zynq-7000.dtsi | 8 +++ arch/arm/include/asm/arch_timer.h | 36 ++++++++-- arch/arm/include/uapi/asm/hwcap.h | 1 + arch/arm/kernel/setup.c | 1 + arch/arm/mach-zynq/Kconfig | 1 + arch/arm64/include/asm/arch_timer.h | 42 +++++++++-- arch/arm64/include/asm/hwcap.h | 11 +-- arch/arm64/include/uapi/asm/hwcap.h | 1 + arch/arm64/kernel/setup.c | 11 +++ drivers/clocksource/Kconfig | 15 ++++ drivers/clocksource/arm_arch_timer.c | 49 +++++++++++++ drivers/clocksource/arm_global_timer.c | 3 +- drivers/clocksource/bcm2835_timer.c | 4 +- drivers/clocksource/clksrc-dbx500-prcmu.c | 5 +- drivers/clocksource/dw_apb_timer_of.c | 4 +- drivers/clocksource/mxs_timer.c | 4 +- drivers/clocksource/nomadik-mtu.c | 4 +- drivers/clocksource/samsung_pwm_timer.c | 4 +- drivers/clocksource/tegra20_timer.c | 4 +- drivers/clocksource/time-armada-370-xp.c | 4 +- drivers/clocksource/timer-prima2.c | 6 +- drivers/clocksource/vf_pit_timer.c | 4 +- drivers/rtc/interface.c | 13 ++-- include/clocksource/arm_arch_timer.h | 10 +++ include/linux/clockchips.h | 1 + include/linux/clocksource.h | 2 + include/linux/sched_clock.h | 2 + kernel/time/clocksource.c | 46 ++++++++---- kernel/time/ntp.c | 3 +- kernel/time/sched_clock.c | 111 ++++++++++++++++------------- kernel/time/tick-broadcast.c | 1 + 31 files changed, 302 insertions(+), 109 deletions(-)
Signature · 5 lines
<http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
Quoted 28 lines · Daniel Lezcano
Hi Thomas,
this pull request is based on 3.12-rc3 with the following content:
- Miroslav improved the RTC update by increasing the interval
acceptable for an update in thesync_cmos_clockworkqueue callback- Prarit added a missing function declaration to fix a compilation
issue on x86. Please *note*, this patch is coming from a pull from John's tree, it would make sense to cherry-pick this fix into timers/urgent- Soren added
FEAT_PERCPUto a clock device when it is local per cpu.
This feature prevents the clock framework to choose a per cpu timer as a broadcast timer. This problem arised when the ARM global timer is used which is the case now on Xillinx.- Stephen extended the generic
sched_clockcode to support 64bit
counters and removes thesetup_sched_clockdeprecation, as that causes lots of warnings since there's still users in thearch/armtree.- Will and Sudeep implemented the event stream for architected timer.
The event streams can be used to impose a timeout on a wfe, to safeguard against any programming error in case an expected event is not generated or even to implement wfe-based timeouts for userspace locking implementations.
Quoted 4 lines
- Zoran prevents to enter suspend mode if there are pending RTC
timers to be handled, avoiding these ones to be delayed as well as the subsequent possible time critical code tied with them.
Hey Daniel,
So this looks like a strange pull request. You based it on 3.12-rc3
instead of the current tip/timers/core (which is what your submitting this to). Unfortunately since the branch you pulled from me was based on tip/timers/core, this pull request seems to be submitting items that are already in tip/timers/core (like the changes from Prarit, Miroslav and Zoran).
Does any of the changes here actually depend on 3.12-rc3? If not you might just re-generate the branch against tip/timers/core, and you'll end up with a much cleaner pull request.
thanks
-john
Quoted 35 lines · John Stultz
Quoted 28 lines · Daniel Lezcano
Hi Thomas,
this pull request is based on 3.12-rc3 with the following content:
- Miroslav improved the RTC update by increasing the interval
acceptable for an update in thesync_cmos_clockworkqueue callback- Prarit added a missing function declaration to fix a compilation
issue on x86. Please *note*, this patch is coming from a pull from John's tree, it would make sense to cherry-pick this fix into timers/urgent- Soren added
FEAT_PERCPUto a clock device when it is local per cpu.
This feature prevents the clock framework to choose a per cpu timer as a broadcast timer. This problem arised when the ARM global timer is used which is the case now on Xillinx.- Stephen extended the generic
sched_clockcode to support 64bit
counters and removes thesetup_sched_clockdeprecation, as that causes lots of warnings since there's still users in thearch/armtree.- Will and Sudeep implemented the event stream for architected timer.
The event streams can be used to impose a timeout on a wfe, to safeguard against any programming error in case an expected event is not generated or even to implement wfe-based timeouts for userspace locking implementations.Quoted 4 lines
- Zoran prevents to enter suspend mode if there are pending RTC
timers to be handled, avoiding these ones to be delayed as well as the subsequent possible time critical code tied with them.
Quoted 7 lines
Hey Daniel,
So this looks like a strange pull request. You based it on 3.12-rc3
instead of the current tip/timers/core (which is what your submitting this to). Unfortunately since the branch you pulled from me was based on tip/timers/core, this pull request seems to be submitting items that are already in tip/timers/core (like the changes from Prarit, Miroslav and Zoran).
Aah right !
Quoted 3 lines
Does any of the changes here actually depend on 3.12-rc3? If not you might just re-generate the branch against tip/timers/core, and you'll end up with a much cleaner pull request.
Ok, I think I misunderstood Thomas's email [1] :s
No changes depend on 3.12-rc3, I will generate a pull request against tip/timers/core.
Thanks for spotting this.
-- Daniel
[1] https://lkml.org/lkml/2013/8/21/269
Signature · 5 lines
<http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
Quoted 44 lines · Daniel Lezcano
Quoted 35 lines · John Stultz
Quoted 28 lines · Daniel Lezcano
Hi Thomas,
this pull request is based on 3.12-rc3 with the following content:
- Miroslav improved the RTC update by increasing the interval
acceptable for an update in thesync_cmos_clockworkqueue callback- Prarit added a missing function declaration to fix a compilation
issue on x86. Please *note*, this patch is coming from a pull from John's tree, it would make sense to cherry-pick this fix into timers/urgent- Soren added
FEAT_PERCPUto a clock device when it is local per cpu.
This feature prevents the clock framework to choose a per cpu timer as a broadcast timer. This problem arised when the ARM global timer is used which is the case now on Xillinx.- Stephen extended the generic
sched_clockcode to support 64bit
counters and removes thesetup_sched_clockdeprecation, as that causes lots of warnings since there's still users in thearch/armtree.- Will and Sudeep implemented the event stream for architected timer.
The event streams can be used to impose a timeout on a wfe, to safeguard against any programming error in case an expected event is not generated or even to implement wfe-based timeouts for userspace locking implementations.Quoted 4 lines
- Zoran prevents to enter suspend mode if there are pending RTC
timers to be handled, avoiding these ones to be delayed as well as the subsequent possible time critical code tied with them.Quoted 7 lines
Hey Daniel,
So this looks like a strange pull request. You based it on 3.12-rc3
instead of the current tip/timers/core (which is what your submitting this to). Unfortunately since the branch you pulled from me was based on tip/timers/core, this pull request seems to be submitting items that are already in tip/timers/core (like the changes from Prarit, Miroslav and Zoran).
Quoted 8 lines
Aah right !
Quoted 3 lines
Does any of the changes here actually depend on 3.12-rc3? If not you might just re-generate the branch against tip/timers/core, and you'll end up with a much cleaner pull request.
Ok, I think I misunderstood Thomas's email [1] :s
Right, so you want to avoid rebasing other's work, but you also want to avoid unnecssary merges.
Its requires a change in thinking, since so often we're preeoccupied with "keeping up" with Linus' HEAD. But when it comes to submitting branches for others to pull, we want to preserve the history of the patches, and submit them as they were applied to the git tree originally. Thus submitting "old" branches isn't really problematic.
Thus you only want to do merges if you know there will be complex collisions with future work (which you can easily test in a private temporary branch), or you are adding new work that depends on recent changes. Otherwise leave it to the person pulling your branch to do the merge with their tree.
Quoted 2 lines
No changes depend on 3.12-rc3, I will generate a pull request against tip/timers/core.
No problem.
thanks
-john