android_kernel_motorola_sm6225/kernel/trace
Peter Zijlstra ca109491f6 hrtimer: removing all ur callback modes
Impact: cleanup, move all hrtimer processing into hardirq context

This is an attempt at removing some of the hrtimer complexity by
reducing the number of callback modes to 1.

This means that all hrtimer callback functions will be ran from HARD-irq
context.

I went through all the 30 odd hrtimer callback functions in the kernel
and saw only one that I'm not quite sure of, which is the one in
net/can/bcm.c - hence I'm CC-ing the folks responsible for that code.

Furthermore, the hrtimer core now calls callbacks directly with IRQs
disabled in case you try to enqueue an expired timer. If this timer is a
periodic timer (which should use hrtimer_forward() to advance its time)
then it might be possible to end up in an inf. recursive loop due to the
fact that hrtimer_forward() doesn't round up to the next timer
granularity, and therefore keeps on calling the callback - obviously
this needs a fix.

Aside from that, this seems to compile and actually boot on my dual core
test box - although I'm sure there are some bugs in, me not hitting any
makes me certain :-)

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-25 15:45:46 +01:00
..
ftrace.c Merge branch 'tip/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent 2008-11-19 09:00:50 +01:00
Kconfig tracing, alpha: undefined reference to `save_stack_trace' 2008-11-03 10:12:13 +01:00
Makefile ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
ring_buffer.c trace: introduce missing mutex_unlock() 2008-11-18 21:37:15 +01:00
trace.c tracing: kernel/trace/trace.c: introduce missing kfree() 2008-11-18 16:59:58 +01:00
trace.h ftrace: handle archs that do not support irqs_disabled_flags 2008-10-31 00:03:26 +01:00
trace_boot.c tracing/fastboot: fix printk format typo in boot tracer 2008-10-14 10:39:23 +02:00
trace_functions.c ftrace: rename the ftrace tracer to function 2008-10-20 18:27:04 +02:00
trace_irqsoff.c ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
trace_mmiotrace.c ftrace: preempt disable over interrupt disable 2008-10-14 10:39:09 +02:00
trace_nop.c ftrace: make work with new ring buffer 2008-10-14 10:38:57 +02:00
trace_sched_switch.c ftrace: make some tracers reentrant 2008-10-14 10:39:20 +02:00
trace_sched_wakeup.c ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
trace_selftest.c ftrace: remove daemon 2008-10-23 16:00:22 +02:00
trace_selftest_dynamic.c ftrace: fix dynamic ftrace selftest 2008-05-23 21:13:23 +02:00
trace_stack.c ftrace: stack tracer only record when on stack 2008-10-20 18:31:37 +02:00
trace_sysprof.c hrtimer: removing all ur callback modes 2008-11-25 15:45:46 +01:00