Re: [patch] voluntary-preempt-2.6.8.1-P6

Ingo Molnar
2004-08-21T09:09:24Z

* Lee Revell <rlrevell@joe-job.com> wrote:

> Also I have noticed a pattern with the XFree86 schedule() latencies,
> they all have a section like this:
>
> 04000002 0.003ms (+0.000ms): effective_prio (recalc_task_prio)
> 04000002 0.003ms (+0.000ms): enqueue_task (schedule)
> 00000002 0.006ms (+0.003ms): __switch_to (schedule)
> 00000002 0.088ms (+0.082ms): finish_task_switch (schedule)
> 00010002 0.090ms (+0.001ms): do_IRQ (finish_task_switch)

> I presume the 04000002 -> 00000002 is some interrupt being unmasked
> (or interrupts being globally enabled), then there's a 60-80 usec
> latency in schedule().

0x04000000 is PREEMPT_ACTIVE - which is just a bit we set to make sure
we dont try to preempt recursively.

but the XFree86 latency is interesting indeed. It could be the effect of
the now-enlarged ioperm() bitmap! 80 usecs is excessive.

Ingo