Hello, On Fri, Sep 11, 2009 at 05:20:44PM +0200, Uwe Kleine-König wrote: > Hello Bo, > > In the meantime I got access to an at91rm9200, too. To help me > reproducing the problem: I still cannot reproduce, but I found something anyhow. The problem is that hrtimer_interrupt_hanging decreases min_delta_ns. (Initially it's 61036.) I talked to jstultz on irc and both of us are unsure if asserting that min_delta_ns isn't decreased in hrtimer_interrupt_hanging is enough or if there is another problem. Bo, can you please apply the patch below, pass the kernel parameter ftrace_dump_on_oops (or alternatively do # echo 1 > /proc/sys/kernel/ftrace_dump_on_oops ), reproduce the problem and send the resulting oops? Best regards Uwe diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 51bd089..cd72ca9 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -18,6 +18,7 @@ #include <linux/personality.h> #include <linux/kallsyms.h> #include <linux/delay.h> +#include <linux/kdebug.h> #include <linux/hardirq.h> #include <linux/init.h> #include <linux/uaccess.h> @@ -223,6 +224,8 @@ static void __die(const char *str, int err, struct thread_info *thread, struct p dump_backtrace(regs, tsk); dump_instr(regs); } + + notify_die(DIE_OOPS, str, regs, err, current->thread.trap_no, SIGSEGV); } DEFINE_RAW_SPINLOCK(die_lock); diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 9e308ab..a0c05f3 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -1390,8 +1390,16 @@ void hrtimer_interrupt(struct clock_event_device *dev) /* Reprogramming necessary ? */ if (expires_next.tv64 != KTIME_MAX) { - if (tick_program_event(expires_next, force_clock_reprogram)) + if (tick_program_event(expires_next, force_clock_reprogram)) { + if (nr_retries > 1) + trace_printk("tick_program_event failed, " + "now=%lld, expires_next=%lld, " + "nr_retries=%d\n", + (long long)now.tv64, + (long long)expires_next.tv64, + nr_retries); goto retry; + } } if (raise) -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html