Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-01

From: Ingo Molnar
Date: Tue Mar 22 2005 - 04:33:56 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> seems to be a true SMP race: when i boot with 1 CPU it doesnt trigger,
> the same kernel image and 2 CPUs triggers it on CPU#1. (CPU#0 is the
> boot CPU) Note that the timing of the crash is not deterministic
> (sometimes i get it during net startup, sometimes during ACPI
> startup), but it always crashes within rcu_advance_callbacks().
>
> one difference between your tests and mine is that your kernel is
> doing _synchronize_kernel() from preempt-off sections (correct?),
> while my kernel with PREEMPT_RT does it on preemptable sections.

hm, another thing: i think call_rcu() needs to take the read-lock. Right
now it assumes that it has the data structure private, but that's only
statistically true on PREEMPT_RT: another CPU may have this CPU's RCU
control structure in use. So IRQs-off (or preempt-off) is not a
guarantee to have the data structure, the read lock has to be taken.

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/