Ingo Molnar wrote: > * K.R. Foley 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 > > ? Yes. See attached files. When I ran rtc_wakeup the priorities were IRQ 8= 97 IRQ 0= 96 Dropping IRQ 8 (down to 86) below rtc_wakeup kept rtc_wakeup from completing any runs. > > >>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); > +} I know. I MUST KEEP MY MOUTH SHUT. I MUST KEEP MY MOUTH SHUT. I just didn't see how it was possible that either of the other two conditions could ever be false in this case and I missed the call to resched_task > > 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 did this and latencies in the histogram dropped drastically. The highest latency in the histogram is 33 usecs and thus never gets high enough to trigger the tracing??? IRQ 8 = 97 IRQ 0 = 96 realfeel = 98 > > Ingo >