[lkml]   [2005]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-01
    On Tue, Mar 22, 2005 at 10:32:01AM +0100, Ingo Molnar wrote:
    > * Ingo Molnar <> 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.

    !!! The difference is that in the stock kernel, rcu_check_callbacks()
    is invoked from irq. In PREEMPT_RT, it is invoked from process context
    and appears to be preemptible. This means that rcu_advance_callbacks()
    can be preempted, resulting in all sorts of problems. Need to disable
    preemption over this.

    There are probably other bugs of this sort, I will track them down.

    But, just to make sure I understand -- if I have preempt disabled over
    all accesses to a per-CPU variable, and that variable is -not- accessed
    from a real interrupt handler, then I am safe without a lock, right?

    Thanx, Paul

    PS. Fixing my stupid bugs that you pointed out in earlier email,
    as well. :-/
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-04-06 13:30    [W:0.021 / U:0.984 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site