* [PATCH 1/2] timer: avoid unnecessary waking up of nohz CPU
@ 2015-04-28 2:21 Joonwoo Park
2015-04-28 21:59 ` Stephen Boyd
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Joonwoo Park @ 2015-04-28 2:21 UTC (permalink / raw)
To: tglx; +Cc: sboyd, skannan, linux-kernel, Joonwoo Park, John Stultz
At present, internal_add_timer() examines flags with 'base' which doesn't
contain flags. Examine with 'timer->base' to avoid unnecessary waking up
of nohz CPU when timer base has TIMER_DEFERRABLE.
CC: Thomas Gleixner <tglx@linutronix.de>
CC: John Stultz <john.stultz@linaro.org>
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
---
kernel/time/timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 2ece3aa..e5d5733c 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -434,7 +434,7 @@ static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
* require special care against races with idle_cpu(), lets deal
* with that later.
*/
- if (!tbase_get_deferrable(base) || tick_nohz_full_cpu(base->cpu))
+ if (!tbase_get_deferrable(timer->base) || tick_nohz_full_cpu(base->cpu))
wake_up_nohz_cpu(base->cpu);
}
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH 1/2] timer: avoid unnecessary waking up of nohz CPU
2015-04-28 2:21 [PATCH 1/2] timer: avoid unnecessary waking up of nohz CPU Joonwoo Park
@ 2015-04-28 21:59 ` Stephen Boyd
2015-04-29 2:41 ` Viresh Kumar
2015-05-05 8:42 ` [tip:timers/core] timer: Use timer->base for flag checks tip-bot for Joonwoo Park
2 siblings, 0 replies; 4+ messages in thread
From: Stephen Boyd @ 2015-04-28 21:59 UTC (permalink / raw)
To: Joonwoo Park, tglx
Cc: skannan, linux-kernel, John Stultz, Viresh Kumar,
Frederic Weisbecker
On 04/27/15 19:21, Joonwoo Park wrote:
> At present, internal_add_timer() examines flags with 'base' which doesn't
> contain flags. Examine with 'timer->base' to avoid unnecessary waking up
> of nohz CPU when timer base has TIMER_DEFERRABLE.
>
> CC: Thomas Gleixner <tglx@linutronix.de>
> CC: John Stultz <john.stultz@linaro.org>
> Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
> ---
> kernel/time/timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/time/timer.c b/kernel/time/timer.c
> index 2ece3aa..e5d5733c 100644
> --- a/kernel/time/timer.c
> +++ b/kernel/time/timer.c
> @@ -434,7 +434,7 @@ static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
> * require special care against races with idle_cpu(), lets deal
> * with that later.
> */
> - if (!tbase_get_deferrable(base) || tick_nohz_full_cpu(base->cpu))
> + if (!tbase_get_deferrable(timer->base) || tick_nohz_full_cpu(base->cpu))
> wake_up_nohz_cpu(base->cpu);
> }
>
This looks like a fix for commit 9f6d9baaa8ca (timer: Kick dynticks
targets on mod_timer*() calls, 2014-06-22) which changed the code to use
base instead of timer->base when it moved this condition from
add_timer_on() into internal_add_timer(). Is that right?
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] timer: avoid unnecessary waking up of nohz CPU
2015-04-28 2:21 [PATCH 1/2] timer: avoid unnecessary waking up of nohz CPU Joonwoo Park
2015-04-28 21:59 ` Stephen Boyd
@ 2015-04-29 2:41 ` Viresh Kumar
2015-05-05 8:42 ` [tip:timers/core] timer: Use timer->base for flag checks tip-bot for Joonwoo Park
2 siblings, 0 replies; 4+ messages in thread
From: Viresh Kumar @ 2015-04-29 2:41 UTC (permalink / raw)
To: Joonwoo Park
Cc: Thomas Gleixner, Stephen Boyd, Saravana Kannan,
linux-kernel@vger.kernel.org, John Stultz
On Tue, Apr 28, 2015 at 7:51 AM, Joonwoo Park <joonwoop@codeaurora.org> wrote:
> At present, internal_add_timer() examines flags with 'base' which doesn't
> contain flags. Examine with 'timer->base' to avoid unnecessary waking up
> of nohz CPU when timer base has TIMER_DEFERRABLE.
>
> CC: Thomas Gleixner <tglx@linutronix.de>
> CC: John Stultz <john.stultz@linaro.org>
> Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
> ---
> kernel/time/timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/time/timer.c b/kernel/time/timer.c
> index 2ece3aa..e5d5733c 100644
> --- a/kernel/time/timer.c
> +++ b/kernel/time/timer.c
> @@ -434,7 +434,7 @@ static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
> * require special care against races with idle_cpu(), lets deal
> * with that later.
> */
> - if (!tbase_get_deferrable(base) || tick_nohz_full_cpu(base->cpu))
> + if (!tbase_get_deferrable(timer->base) || tick_nohz_full_cpu(base->cpu))
> wake_up_nohz_cpu(base->cpu);
> }
Oops !!
Fixes: 9f6d9baaa8ca ("timer: Kick dynticks targets on mod_timer*() calls")
Cc: 3.17+ <stable@vger.kernel.org> # 3.17+
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
^ permalink raw reply [flat|nested] 4+ messages in thread* [tip:timers/core] timer: Use timer->base for flag checks
2015-04-28 2:21 [PATCH 1/2] timer: avoid unnecessary waking up of nohz CPU Joonwoo Park
2015-04-28 21:59 ` Stephen Boyd
2015-04-29 2:41 ` Viresh Kumar
@ 2015-05-05 8:42 ` tip-bot for Joonwoo Park
2 siblings, 0 replies; 4+ messages in thread
From: tip-bot for Joonwoo Park @ 2015-05-05 8:42 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, john.stultz, tglx, joonwoop, hpa, mingo
Commit-ID: 781978e6e156101209f62b9ebc8783b70ef248de
Gitweb: http://git.kernel.org/tip/781978e6e156101209f62b9ebc8783b70ef248de
Author: Joonwoo Park <joonwoop@codeaurora.org>
AuthorDate: Mon, 27 Apr 2015 19:21:49 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Tue, 5 May 2015 10:40:43 +0200
timer: Use timer->base for flag checks
At present, internal_add_timer() examines flags with 'base' which doesn't
contain flags. Examine with 'timer->base' to avoid unnecessary waking up
of nohz CPU when timer base has TIMER_DEFERRABLE set.
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Cc: sboyd@codeaurora.org
Cc: skannan@codeaurora.org
Cc: John Stultz <john.stultz@linaro.org>
Link: http://lkml.kernel.org/r/1430187709-21087-1-git-send-email-joonwoop@codeaurora.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 03f926c..d4af7c5 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -436,7 +436,7 @@ static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
* require special care against races with idle_cpu(), lets deal
* with that later.
*/
- if (!tbase_get_deferrable(base) || tick_nohz_full_cpu(base->cpu))
+ if (!tbase_get_deferrable(timer->base) || tick_nohz_full_cpu(base->cpu))
wake_up_nohz_cpu(base->cpu);
}
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-05-05 8:42 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-28 2:21 [PATCH 1/2] timer: avoid unnecessary waking up of nohz CPU Joonwoo Park
2015-04-28 21:59 ` Stephen Boyd
2015-04-29 2:41 ` Viresh Kumar
2015-05-05 8:42 ` [tip:timers/core] timer: Use timer->base for flag checks tip-bot for Joonwoo Park
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.