From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: [PATCH 5/5] hrtimer: fixup comments
Date: Mon, 05 Jan 2009 11:28:23 +0100 [thread overview]
Message-ID: <20090105103136.564276999@chello.nl> (raw)
In-Reply-To: 20090105102818.829119334@chello.nl
[-- Attachment #1: hrtimers-comments.patch --]
[-- Type: text/plain, Size: 1876 bytes --]
From: Thomas Gleixner <tglx@linutronix.de>
Clean up the comments
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
kernel/hrtimer.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
Index: linux-2.6/kernel/hrtimer.c
===================================================================
--- linux-2.6.orig/kernel/hrtimer.c
+++ linux-2.6/kernel/hrtimer.c
@@ -1141,9 +1141,9 @@ static void __run_hrtimer(struct hrtimer
spin_lock(&cpu_base->lock);
/*
- * Note: We clear the CALLBACK bit after enqueue_hrtimer to avoid
- * reprogramming of the event hardware. This happens at the end of this
- * function anyway.
+ * Note: We clear the CALLBACK bit after enqueue_hrtimer and
+ * we do not reprogramm the event hardware. Happens either in
+ * hrtimer_start_range_ns() or in hrtimer_interrupt()
*/
if (restart != HRTIMER_NORESTART) {
BUG_ON(timer->state != HRTIMER_STATE_CALLBACK);
@@ -1540,14 +1540,12 @@ static void migrate_hrtimer_list(struct
__remove_hrtimer(timer, old_base, HRTIMER_STATE_MIGRATE, 0);
timer->base = new_base;
/*
- * Enqueue the timers on the new cpu, but do not reprogram
- * the timer as that would enable a deadlock between
- * hrtimer_enqueue_reprogramm() running the timer and us still
- * holding a nested base lock.
- *
- * Instead we tickle the hrtimer interrupt after the migration
- * is done, which will run all expired timers and re-programm
- * the timer device.
+ * Enqueue the timers on the new cpu. This does not
+ * reprogram the event device in case the timer
+ * expires before the earliest on this CPU, but we run
+ * hrtimer_interrupt after we migrated everything to
+ * sort out already expired timers and reprogram the
+ * event device.
*/
enqueue_hrtimer(timer, new_base);
--
next prev parent reply other threads:[~2009-01-05 11:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-05 10:28 [PATCH 0/5] hrtimer: cleanups and fixes Peter Zijlstra
2009-01-05 10:28 ` [PATCH 1/5] hrtimer: splitout peek ahead functionality Peter Zijlstra
2009-01-05 10:28 ` [PATCH 2/5] hrtimer: fix HOTPLUG_CPU=n compile warning Peter Zijlstra
2009-01-05 10:28 ` [PATCH 3/5] hrtimer: simplify hotplug migration Peter Zijlstra
2009-01-05 10:28 ` [PATCH 4/5] hrtimer: fix recursion deadlock by re-introducing the softirq Peter Zijlstra
2009-01-05 10:28 ` Peter Zijlstra [this message]
2009-01-05 12:15 ` [PATCH 0/5] hrtimer: cleanups and fixes Ingo Molnar
2009-01-05 13:13 ` [PATCH] hrtimer: splitout peek ahead functionality, fix Ingo Molnar
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=20090105103136.564276999@chello.nl \
--to=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=svaidy@linux.vnet.ibm.com \
--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