Re: [RFC PATCH 0/5] clockevents: decouple broadcast mechanism from drivers
On Fri, Dec 21, 2012 at 10:08:02AM +, Santosh Shilimkar wrote: > Mark, > > On Tuesday 18 December 2012 05:36 PM, Mark Rutland wrote: > > In some SMP systems, cpu-local timers may stop delivering interrupts > > when in low power states, or not all CPUs may have local timers. To > > support these systems we have a mechanism for broadcasting timer ticks > > to other CPUs. This mechanism relies on the struct > > clock_event_device::broadcast function pointer, which is a > > driver-specific mechanism for broadcasting ticks to other CPUs. > > > > As the broadcast mechanism is architecture-specific, placing the > > broadcast function on struct clock_event_device ties each driver to a > > single architecture. Additionally the driver or architecture backend > > must handle the routing of broadcast ticks to the correct > > clock_event_device, leading to duplication of the list of active > > clock_event_devices. > > > > These patches introduce a generic mechanism for handling the receipt of > > timer broadcasts, and an optional architecture-specific broadcast > > function which allows drivers to be decoupled from a particular > > architecture will retaining support for timer tick broadcasts. These > > mechanisms are wired up for the arm port, and have been boot-tested on a > > pandaboard. > > > Apart from the relevant comments given against couple of patches and > Stephen's printk string comment, the series looks pretty good to me. > > I have tested the series with CPUIdle where the broadcast is actually > used actively. Great! > So feel free to add, > Reviewed-tested-by: Santosh Shilimkar Thanks! Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 0/5] clockevents: decouple broadcast mechanism from drivers
On Fri, Dec 21, 2012 at 10:08:02AM +, Santosh Shilimkar wrote: Mark, On Tuesday 18 December 2012 05:36 PM, Mark Rutland wrote: In some SMP systems, cpu-local timers may stop delivering interrupts when in low power states, or not all CPUs may have local timers. To support these systems we have a mechanism for broadcasting timer ticks to other CPUs. This mechanism relies on the struct clock_event_device::broadcast function pointer, which is a driver-specific mechanism for broadcasting ticks to other CPUs. As the broadcast mechanism is architecture-specific, placing the broadcast function on struct clock_event_device ties each driver to a single architecture. Additionally the driver or architecture backend must handle the routing of broadcast ticks to the correct clock_event_device, leading to duplication of the list of active clock_event_devices. These patches introduce a generic mechanism for handling the receipt of timer broadcasts, and an optional architecture-specific broadcast function which allows drivers to be decoupled from a particular architecture will retaining support for timer tick broadcasts. These mechanisms are wired up for the arm port, and have been boot-tested on a pandaboard. Apart from the relevant comments given against couple of patches and Stephen's printk string comment, the series looks pretty good to me. I have tested the series with CPUIdle where the broadcast is actually used actively. Great! So feel free to add, Reviewed-tested-by: Santosh Shilimkar santosh.shilim...@ti.com Thanks! Mark. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 0/5] clockevents: decouple broadcast mechanism from drivers
Mark, On Tuesday 18 December 2012 05:36 PM, Mark Rutland wrote: In some SMP systems, cpu-local timers may stop delivering interrupts when in low power states, or not all CPUs may have local timers. To support these systems we have a mechanism for broadcasting timer ticks to other CPUs. This mechanism relies on the struct clock_event_device::broadcast function pointer, which is a driver-specific mechanism for broadcasting ticks to other CPUs. As the broadcast mechanism is architecture-specific, placing the broadcast function on struct clock_event_device ties each driver to a single architecture. Additionally the driver or architecture backend must handle the routing of broadcast ticks to the correct clock_event_device, leading to duplication of the list of active clock_event_devices. These patches introduce a generic mechanism for handling the receipt of timer broadcasts, and an optional architecture-specific broadcast function which allows drivers to be decoupled from a particular architecture will retaining support for timer tick broadcasts. These mechanisms are wired up for the arm port, and have been boot-tested on a pandaboard. Apart from the relevant comments given against couple of patches and Stephen's printk string comment, the series looks pretty good to me. I have tested the series with CPUIdle where the broadcast is actually used actively. So feel free to add, Reviewed-tested-by: Santosh Shilimkar -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 0/5] clockevents: decouple broadcast mechanism from drivers
Mark, On Tuesday 18 December 2012 05:36 PM, Mark Rutland wrote: In some SMP systems, cpu-local timers may stop delivering interrupts when in low power states, or not all CPUs may have local timers. To support these systems we have a mechanism for broadcasting timer ticks to other CPUs. This mechanism relies on the struct clock_event_device::broadcast function pointer, which is a driver-specific mechanism for broadcasting ticks to other CPUs. As the broadcast mechanism is architecture-specific, placing the broadcast function on struct clock_event_device ties each driver to a single architecture. Additionally the driver or architecture backend must handle the routing of broadcast ticks to the correct clock_event_device, leading to duplication of the list of active clock_event_devices. These patches introduce a generic mechanism for handling the receipt of timer broadcasts, and an optional architecture-specific broadcast function which allows drivers to be decoupled from a particular architecture will retaining support for timer tick broadcasts. These mechanisms are wired up for the arm port, and have been boot-tested on a pandaboard. Apart from the relevant comments given against couple of patches and Stephen's printk string comment, the series looks pretty good to me. I have tested the series with CPUIdle where the broadcast is actually used actively. So feel free to add, Reviewed-tested-by: Santosh Shilimkar santosh.shilim...@ti.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[RFC PATCH 0/5] clockevents: decouple broadcast mechanism from drivers
In some SMP systems, cpu-local timers may stop delivering interrupts when in low power states, or not all CPUs may have local timers. To support these systems we have a mechanism for broadcasting timer ticks to other CPUs. This mechanism relies on the struct clock_event_device::broadcast function pointer, which is a driver-specific mechanism for broadcasting ticks to other CPUs. As the broadcast mechanism is architecture-specific, placing the broadcast function on struct clock_event_device ties each driver to a single architecture. Additionally the driver or architecture backend must handle the routing of broadcast ticks to the correct clock_event_device, leading to duplication of the list of active clock_event_devices. These patches introduce a generic mechanism for handling the receipt of timer broadcasts, and an optional architecture-specific broadcast function which allows drivers to be decoupled from a particular architecture will retaining support for timer tick broadcasts. These mechanisms are wired up for the arm port, and have been boot-tested on a pandaboard. Thanks, Mark. Mark Rutland (5): ARM: remove useless guard in smp.c clockevents: Add generic timer broadcast receiver ARM: Use generic timer broadcast receive clockevents: Add generic timer broadcast function ARM: Add generic timer broadcast support arch/arm/Kconfig |1 + arch/arm/kernel/smp.c| 15 ++- include/linux/clockchips.h |9 + kernel/time/Kconfig |4 kernel/time/tick-broadcast.c | 30 ++ 5 files changed, 46 insertions(+), 13 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[RFC PATCH 0/5] clockevents: decouple broadcast mechanism from drivers
In some SMP systems, cpu-local timers may stop delivering interrupts when in low power states, or not all CPUs may have local timers. To support these systems we have a mechanism for broadcasting timer ticks to other CPUs. This mechanism relies on the struct clock_event_device::broadcast function pointer, which is a driver-specific mechanism for broadcasting ticks to other CPUs. As the broadcast mechanism is architecture-specific, placing the broadcast function on struct clock_event_device ties each driver to a single architecture. Additionally the driver or architecture backend must handle the routing of broadcast ticks to the correct clock_event_device, leading to duplication of the list of active clock_event_devices. These patches introduce a generic mechanism for handling the receipt of timer broadcasts, and an optional architecture-specific broadcast function which allows drivers to be decoupled from a particular architecture will retaining support for timer tick broadcasts. These mechanisms are wired up for the arm port, and have been boot-tested on a pandaboard. Thanks, Mark. Mark Rutland (5): ARM: remove useless guard in smp.c clockevents: Add generic timer broadcast receiver ARM: Use generic timer broadcast receive clockevents: Add generic timer broadcast function ARM: Add generic timer broadcast support arch/arm/Kconfig |1 + arch/arm/kernel/smp.c| 15 ++- include/linux/clockchips.h |9 + kernel/time/Kconfig |4 kernel/time/tick-broadcast.c | 30 ++ 5 files changed, 46 insertions(+), 13 deletions(-) -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/