diff options
author | Torben Hohn <torbenh@gmx.de> | 2011-01-27 15:59:46 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-01-31 14:55:45 +0100 |
commit | 57464bd87f708e75b47312766e3fc8dc3aaf66ad (patch) | |
tree | 05047f5add674428289a12d7a912a3bf129c9e67 /arch/frv/kernel | |
parent | 36cb07bb8118cb14211ef25c58026f005877c47d (diff) | |
download | op-kernel-dev-57464bd87f708e75b47312766e3fc8dc3aaf66ad.zip op-kernel-dev-57464bd87f708e75b47312766e3fc8dc3aaf66ad.tar.gz |
frv: Switch do_timer() to xtime_update()
__set_LEDS() does not need to be protected by xtime_lock.
its used unprotected in other places.
[ tglx: Removed stale comment ]
Signed-off-by: Torben Hohn <torbenh@gmx.de>
Cc: hch@infradead.org
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: johnstul@us.ibm.com
Cc: David Howells <dhowells@redhat.com>
Cc: yong.zhang0@gmail.com
LKML-Reference: <20110127145946.23248.57952.stgit@localhost>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/frv/kernel')
-rw-r--r-- | arch/frv/kernel/time.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c index 0ddbbae..b457de4 100644 --- a/arch/frv/kernel/time.c +++ b/arch/frv/kernel/time.c @@ -50,21 +50,13 @@ static struct irqaction timer_irq = { /* * timer_interrupt() needs to keep up the real-time clock, - * as well as call the "do_timer()" routine every clocktick + * as well as call the "xtime_update()" routine every clocktick */ static irqreturn_t timer_interrupt(int irq, void *dummy) { profile_tick(CPU_PROFILING); - /* - * Here we are in the timer irq handler. We just have irqs locally - * disabled but we don't know if the timer_bh is running on the other - * CPU. We need to avoid to SMP race with it. NOTE: we don't need - * the irq version of write_lock because as just said we have irq - * locally disabled. -arca - */ - write_seqlock(&xtime_lock); - do_timer(1); + xtime_update(1); #ifdef CONFIG_HEARTBEAT static unsigned short n; @@ -72,8 +64,6 @@ static irqreturn_t timer_interrupt(int irq, void *dummy) __set_LEDS(n); #endif /* CONFIG_HEARTBEAT */ - write_sequnlock(&xtime_lock); - update_process_times(user_mode(get_irq_regs())); return IRQ_HANDLED; |