From: Viresh Kumar <viresh.kumar@linaro.org>
To: Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>
Cc: linaro-kernel@lists.linaro.org, linux-kernel@vger.kernel.org,
Viresh Kumar <viresh.kumar@linaro.org>
Subject: [PATCH 2/2] timer: Replace base-> 'running_timer' with 'busy'
Date: Tue, 31 Mar 2015 12:25:17 +0530 [thread overview]
Message-ID: <cbb293c97b5ee3085759b8f8b180dee35a907217.1427782893.git.viresh.kumar@linaro.org> (raw)
In-Reply-To: <cover.1427782893.git.viresh.kumar@linaro.org>
In-Reply-To: <cover.1427782893.git.viresh.kumar@linaro.org>
We don't need to track the running timer for a cpu base anymore, but sill need
to check business of base for sanity checking during CPU hotplug.
Lets replace 'running_timer' with 'busy' for handle that efficiently.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
kernel/time/timer.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 364644811485..2db05206594b 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -77,7 +77,7 @@ struct tvec_root {
struct tvec_base {
spinlock_t lock;
- struct timer_list *running_timer;
+ bool busy;
unsigned long timer_jiffies;
unsigned long next_timer;
unsigned long active_timers;
@@ -1180,6 +1180,8 @@ static inline void __run_timers(struct tvec_base *base)
spin_unlock_irq(&base->lock);
return;
}
+
+ base->busy = true;
while (time_after_eq(jiffies, base->timer_jiffies)) {
struct list_head work_list;
struct list_head *head = &work_list;
@@ -1236,7 +1238,6 @@ static inline void __run_timers(struct tvec_base *base)
timer_stats_account_timer(timer);
- base->running_timer = timer;
timer_set_running(timer);
detach_expired_timer(timer, base);
@@ -1270,7 +1271,7 @@ static inline void __run_timers(struct tvec_base *base)
}
}
}
- base->running_timer = NULL;
+ base->busy = false;
spin_unlock_irq(&base->lock);
}
@@ -1675,7 +1676,7 @@ static void migrate_timers(int cpu)
spin_lock_irq(&new_base->lock);
spin_lock_nested(&old_base->lock, SINGLE_DEPTH_NESTING);
- BUG_ON(old_base->running_timer);
+ BUG_ON(old_base->busy);
for (i = 0; i < TVR_SIZE; i++)
migrate_timer_list(new_base, old_base->tv1.vec + i);
--
2.3.0.rc0.44.ga94655d
next prev parent reply other threads:[~2015-03-31 6:55 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 6:55 [PATCH 0/2] timer: Migrate running timers Viresh Kumar
2015-03-31 6:55 ` [PATCH 1/2] timer: Avoid waking up an idle-core by migrate running timer Viresh Kumar
2015-03-31 14:53 ` Peter Zijlstra
2015-04-14 23:13 ` Thomas Gleixner
2015-04-17 8:12 ` viresh kumar
2015-04-17 8:32 ` Ingo Molnar
2015-04-21 21:32 ` Thomas Gleixner
2015-04-21 21:54 ` Eric Dumazet
2015-04-22 15:29 ` Peter Zijlstra
2015-04-22 16:02 ` Eric Dumazet
2015-04-22 18:56 ` Thomas Gleixner
2015-04-22 19:59 ` Eric Dumazet
2015-04-22 21:56 ` Thomas Gleixner
2015-04-23 6:57 ` Eric Dumazet
2015-04-23 12:45 ` Thomas Gleixner
2015-04-25 18:37 ` Eric Dumazet
2015-05-05 13:00 ` Thomas Gleixner
2015-05-06 16:33 ` Eric Dumazet
2015-04-15 15:54 ` Thomas Gleixner
2015-03-31 6:55 ` Viresh Kumar [this message]
2015-03-31 15:01 ` [PATCH 0/2] timer: Migrate running timers Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cbb293c97b5ee3085759b8f8b180dee35a907217.1427782893.git.viresh.kumar@linaro.org \
--to=viresh.kumar@linaro.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).