[lkml]   [2008]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powerpc ()

    > Yes, we are - it's the semaphore rewrite which is doing this in
    > start_kernel(). It's being discussed.
    > Enabling interrupts too early on powerpc was discovered to be fatal on
    > powerpc years ago. It looks like that remains the case.

    Regarding these issues. I could make it non fatal and just WARN_ON,
    provided that I have a way to differentiate legal vs. illegal calls
    to local_irq_enable(). We already have that function mostly out of
    line in C code due to our lazy irq disabling scheme, so the overhead of
    testing some global kernel state would be minimum here.

    However, I don't see anything around init/main.c:start_kernel() that I
    can use. What do you reckon here we should do ? Add some kind of global
    we set before calling local_irq_enable() ? Or make early_boot_irqs_on()
    do that generically

    It's currently defined as an empty inline without CONFIG_TRACE_IRQFLAGS
    but we could make it set a flag instead.

    I'm pretty sure other archs have similar problems, especially in the
    embedded world where you are booted with random junk firmwares that may
    leave devices, interrupt controllers etc... in random state, and
    enabling incoming IRQs before the arch code properly initializes the
    main interrupt controller can be fatal. I know at least of an ARM board
    I worked on a while ago that had a similar issues.

    On ppc32, unfortunately, our local_irq_enable/restore are nice inlines
    that whack the appropriate MSR bits directly, thus adding a test for a
    global flag would add some bloat/overhead that I'd like to avoid, at
    least until we decide to also do lazy disabling on those, if ever...


     \ /
      Last update: 2008-03-06 01:07    [W:0.025 / U:0.580 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site