Re: v2.6.21-rt2

From: Ingo Molnar
Date: Wed May 16 2007 - 18:05:44 EST



* Daniel Walker <dwalker@xxxxxxxxxx> wrote:

> I don't know. irqs_off_preempt_count() could get used someplace else,
> where you would want to flip the preempt_count() check .. It seems
> sane to combine your patch with mine ..
>
> irqs_off_preempt_count() (!__get_cpu_var(trace_cpu_idle) &&
> preempt_count())
>
> You can't call __get_cpu_var() without the a positive preempt_count(),
> so the check seems backwards regardless of the other factors ..

yeah. The whole trace_preempt_enter_idle() thing looks a bit suspect.
Why cannot those architectures simply disable/enable preemption and get
the same effect? It's not like we ever want to allow the preemption of
the idle task.

and once that is solved, irqs_off_preempt_count() can again include the
hardirq and preempt count check only and doesnt have to check the
idle_cpu flag. This would make the whole thing simpler and would avoid
silly bugs like this.

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/