mbox

[GIT,PULL] : clocksource: new material for 3.13

Message ID 5249B7E2.5060201@linaro.org
State New
Headers show

Pull-request

git://git.linaro.org/people/dlezcano/linux.git clockevents/3.13

Message

Daniel Lezcano Sept. 30, 2013, 5:41 p.m. UTC
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' of 
git://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(-)

Comments

John Stultz Sept. 30, 2013, 5:49 p.m. UTC | #1
On 09/30/2013 10:41 AM, Daniel Lezcano wrote:
>
> 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.
>


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
Daniel Lezcano Sept. 30, 2013, 6:09 p.m. UTC | #2
On 09/30/2013 07:49 PM, John Stultz wrote:
> On 09/30/2013 10:41 AM, Daniel Lezcano wrote:
>>
>> 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.
>>
>
>
> 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 !

> 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
John Stultz Sept. 30, 2013, 6:18 p.m. UTC | #3
On 09/30/2013 11:09 AM, Daniel Lezcano wrote:
> On 09/30/2013 07:49 PM, John Stultz wrote:
>> On 09/30/2013 10:41 AM, Daniel Lezcano wrote:
>>>
>>> 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.
>>>
>>
>>
>> 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 !
>
>> 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.


> No changes depend on 3.12-rc3, I will generate a pull request against
> tip/timers/core. 

No problem.

thanks
-john