diff mbox

clocksource/drivers/tegra: allow timer irq affinity change

Message ID 1445787630-13251-1-git-send-email-dev@lynxeye.de
State Accepted, archived
Headers show

Commit Message

Lucas Stach Oct. 25, 2015, 3:40 p.m. UTC
Allow the timer core to change the smp affinity of the broadcast timer
irq by setting CLOCK_EVT_FEAT_DYNIRQ flag.

This reduces interrupt pressure and wakeups on CPU0 as well as vastly
reducing the number of timer broadcast IPIs.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
---
 drivers/clocksource/tegra20_timer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Daniel Lezcano Oct. 27, 2015, 10:14 a.m. UTC | #1
On 10/25/2015 04:40 PM, Lucas Stach wrote:
> Allow the timer core to change the smp affinity of the broadcast timer
> irq by setting CLOCK_EVT_FEAT_DYNIRQ flag.
>
> This reduces interrupt pressure and wakeups on CPU0 as well as vastly
> reducing the number of timer broadcast IPIs.

Did you test this patch on a tegra2 ?
Lucas Stach Oct. 27, 2015, 8:22 p.m. UTC | #2
Am Dienstag, den 27.10.2015, 11:14 +0100 schrieb Daniel Lezcano:
> On 10/25/2015 04:40 PM, Lucas Stach wrote:
> > Allow the timer core to change the smp affinity of the broadcast
> > timer
> > irq by setting CLOCK_EVT_FEAT_DYNIRQ flag.
> > 
> > This reduces interrupt pressure and wakeups on CPU0 as well as
> > vastly
> > reducing the number of timer broadcast IPIs.
> 
> Did you test this patch on a tegra2 ?
> 
Yes, I haven't spotted anything bad, but don't know if I should look
out for specific oddities?

Regards,
Lucas
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Daniel Lezcano Oct. 27, 2015, 8:54 p.m. UTC | #3
On 10/27/2015 09:22 PM, Lucas Stach wrote:
> Am Dienstag, den 27.10.2015, 11:14 +0100 schrieb Daniel Lezcano:
>> On 10/25/2015 04:40 PM, Lucas Stach wrote:
>>> Allow the timer core to change the smp affinity of the broadcast
>>> timer
>>> irq by setting CLOCK_EVT_FEAT_DYNIRQ flag.
>>>
>>> This reduces interrupt pressure and wakeups on CPU0 as well as
>>> vastly
>>> reducing the number of timer broadcast IPIs.
>>
>> Did you test this patch on a tegra2 ?
>>
> Yes, I haven't spotted anything bad, but don't know if I should look
> out for specific oddities?

I was wondering if you tested it because the changelog was the same than 
the similar change you did previously so I wanted to know if you assumed 
the behavior or if you tested it.

So, no problem.

Thanks !

   -- Daniel
diff mbox

Patch

diff --git a/drivers/clocksource/tegra20_timer.c b/drivers/clocksource/tegra20_timer.c
index 6ebda11..38333ab 100644
--- a/drivers/clocksource/tegra20_timer.c
+++ b/drivers/clocksource/tegra20_timer.c
@@ -96,7 +96,8 @@  static struct clock_event_device tegra_clockevent = {
 	.name			= "timer0",
 	.rating			= 300,
 	.features		= CLOCK_EVT_FEAT_ONESHOT |
-				  CLOCK_EVT_FEAT_PERIODIC,
+				  CLOCK_EVT_FEAT_PERIODIC |
+				  CLOCK_EVT_FEAT_DYNIRQ,
 	.set_next_event		= tegra_timer_set_next_event,
 	.set_state_shutdown	= tegra_timer_shutdown,
 	.set_state_periodic	= tegra_timer_set_periodic,