Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.32-6

From: K.R. Foley
Date: Thu Dec 09 2004 - 23:28:27 EST


Ingo Molnar wrote:
* K.R. Foley <kr@xxxxxxxxxx> wrote:


running realfeel with rtc histogram generates > 100 usec entries in
the histogram but none of these are ever caught by the wakeup tracing.


can you reproduce this with rtc_wakeup:

http://www.affenbande.org/~tapas/wiki/index.php?rtc_wakeup

?


I think I know why we don't get traces from this. TIF_NEED_RESCHED is
not set for IRQ 8 at the time that it wakes up realfeel so
_need_resched fails and trace_start_sched_wakeup doesn't actually call
__trace_start_sched_wakeup(p)???


here's the code:

+static inline void trace_start_sched_wakeup(task_t *p, runqueue_t *rq)
+{
+ if (TASK_PREEMPTS_CURR(p, rq) && (p != rq->curr) && _need_resched())
+ __trace_start_sched_wakeup(p);
+}

indeed this only triggers if the woken up task has a higher priority
than the waker... hm. Could you try to reverse the priorities of realfeel and IRQ8, does that produce traces?

I guess I really am slow. You laid it all out for me above and I still didn't get it until I looked at again. I still haven't been able to capture an actual trace from any of these programs, but thanks to your addition of logging all of the max latencies in 32-14 I can see that the traces were there until another trace pushes them out.

Ingo


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/