* - updated-hrtimers-clean-up-callback-tracking.patch removed from -mm tree
@ 2006-12-13 22:48 akpm
0 siblings, 0 replies; only message in thread
From: akpm @ 2006-12-13 22:48 UTC (permalink / raw)
To: tglx, ak, johnstul, mingo, zippel, mm-commits
The patch titled
hrtimers: clean up callback tracking
has been removed from the -mm tree. Its filename was
updated-hrtimers-clean-up-callback-tracking.patch
This patch was dropped because it is obsolete
------------------------------------------------------
Subject: hrtimers: clean up callback tracking
From: Thomas Gleixner <tglx@linutronix.de>
Reintroduce ktimers feature "optimized away" by the ktimers review process:
remove the curr_timer pointer from the cpu-base and use the hrtimer state.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---
include/linux/hrtimer.h | 1 -
kernel/hrtimer.c | 10 +---------
2 files changed, 1 insertion(+), 10 deletions(-)
diff -puN include/linux/hrtimer.h~updated-hrtimers-clean-up-callback-tracking include/linux/hrtimer.h
--- a/include/linux/hrtimer.h~updated-hrtimers-clean-up-callback-tracking
+++ a/include/linux/hrtimer.h
@@ -136,7 +136,6 @@ struct hrtimer_cpu_base {
spinlock_t lock;
struct lock_class_key lock_key;
struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
- struct hrtimer *curr_timer;
};
/*
diff -puN kernel/hrtimer.c~updated-hrtimers-clean-up-callback-tracking kernel/hrtimer.c
--- a/kernel/hrtimer.c~updated-hrtimers-clean-up-callback-tracking
+++ a/kernel/hrtimer.c
@@ -150,8 +150,6 @@ static void hrtimer_get_softirq_time(str
*/
#ifdef CONFIG_SMP
-#define set_curr_timer(b, t) do { (b)->curr_timer = (t); } while (0)
-
/*
* We are using hashed locking: holding per_cpu(hrtimer_bases)[n].lock
* means that all timers which are tied to this base via timer->base are
@@ -205,7 +203,7 @@ switch_hrtimer_base(struct hrtimer *time
* completed. There is no conflict as we hold the lock until
* the timer is enqueued.
*/
- if (unlikely(base->cpu_base->curr_timer == timer))
+ if (unlikely(timer->state & HRTIMER_STATE_CALLBACK))
return base;
/* See the comment in lock_timer_base() */
@@ -219,8 +217,6 @@ switch_hrtimer_base(struct hrtimer *time
#else /* CONFIG_SMP */
-#define set_curr_timer(b, t) do { } while (0)
-
static inline struct hrtimer_clock_base *
lock_hrtimer_base(const struct hrtimer *timer, unsigned long *flags)
{
@@ -654,7 +650,6 @@ static inline void run_hrtimer_queue(str
break;
fn = timer->function;
- set_curr_timer(cpu_base, timer);
__remove_hrtimer(timer, base, HRTIMER_STATE_CALLBACK);
spin_unlock_irq(&cpu_base->lock);
@@ -668,7 +663,6 @@ static inline void run_hrtimer_queue(str
enqueue_hrtimer(timer, base);
}
}
- set_curr_timer(cpu_base, NULL);
spin_unlock_irq(&cpu_base->lock);
}
@@ -855,8 +849,6 @@ static void migrate_hrtimers(int cpu)
spin_lock(&old_base->lock);
for (i = 0; i < HRTIMER_MAX_CLOCK_BASES; i++) {
- BUG_ON(old_base->curr_timer);
-
migrate_hrtimer_list(&old_base->clock_base[i],
&new_base->clock_base[i]);
}
_
Patches currently in -mm which might be from tglx@linutronix.de are
origin.patch
git-mtd.patch
gtod-uninline-jiffiesh.patch
gtod-fix-multiple-conversion-bugs-in-msecs_to_jiffies.patch
gtod-fix-timeout-overflow.patch
gtod-persistent-clock-support-core.patch
gtod-persistent-clock-support-i386.patch
dynticks-uninline-irq_enter.patch
dynticks-extend-next_timer_interrupt-to-use-a-reference-jiffie.patch
hrtimers-namespace-and-enum-cleanup.patch
hrtimers-clean-up-locking.patch
hrtimers-add-state-tracking.patch
hrtimers-clean-up-callback-tracking.patch
hrtimers-move-and-add-documentation.patch
acpi-include-fix.patch
acpi-keep-track-of-timer-broadcast.patch
acpi-add-state-propagation-for-dynamic-broadcasting.patch
acpi-cleanups-allow-early-access-to-pmtimer.patch
i386-apic-clean-up-the-apic-code.patch
clockevents-core.patch
clockevents-i386-drivers.patch
clockevents-i386-hpet-driver.patch
i386-apic-rework-and-fix-local-apic-calibration.patch
high-res-timers-core.patch
high-res-timers-core-do-itimer-rearming-in-process-context.patch
high-res-timers-allow-tsc-clocksource-if-pmtimer-present.patch
dynticks-core.patch
dynticks-add-nohz-stats-to-proc-stat.patch
dynticks-i386-support-idle-handler-callbacks.patch
dynticks-i386-prepare-nmi-watchdog.patch
high-res-timers-dynticks-i386-support-enable-in-kconfig.patch
debugging-feature-add-proc-timer_stat.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-12-13 22:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-13 22:48 - updated-hrtimers-clean-up-callback-tracking.patch removed from -mm tree akpm
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.