Messages in this thread Patch in this message | | | Date | Sun, 11 Jul 2004 23:58:46 -0700 | From | Andrew Morton <> | Subject | Re: Instrumenting high latency |
| |
Con Kolivas <kernel@kolivas.org> wrote: > > It can trip > over itself saying that it's own code paths are a problem too if it gets > real busy.
This might fix it?
diff -puN arch/i386/kernel/traps.c~instrumenting-high-latency-fixes arch/i386/kernel/traps.c --- 25/arch/i386/kernel/traps.c~instrumenting-high-latency-fixes 2004-07-11 23:47:51.007799680 -0700 +++ 25-akpm/arch/i386/kernel/traps.c 2004-07-11 23:57:58.726412408 -0700 @@ -1065,6 +1065,9 @@ void __dec_preempt_count(void) if (preempt_count() == 1 && system_state == SYSTEM_RUNNING && __get_cpu_var(preempt_entry)) { u64 exit; + + preempt_count()++; /* Prevent recursive warnings */ + __get_cpu_var(preempt_exit) = (unsigned long)__builtin_return_address(0); rdtscll(exit); @@ -1082,12 +1085,13 @@ void __dec_preempt_count(void) preempt_thresh); print_symbol("%s and ending at ", __get_cpu_var(preempt_entry)); - print_symbol("%s\n", - __get_cpu_var(preempt_exit)); + print_symbol("%s", __get_cpu_var(preempt_exit)); + printk("\n"); dump_stack(); } } __get_cpu_var(preempt_exit) = __get_cpu_var(preempt_entry) = 0; + preempt_count()--; } preempt_count()--; } _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |