Hotplug CPU printk issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2005-04-14 at 16:27 +0800, Li Shaohua wrote:
> On Wed, 2005-04-13 at 16:32, Pavel Machek wrote: 
> > root@hobit:/sys/devices/system/cpu/cpu1# dmesg | tail -25 
> >  [<c011d001>] activate_task+0x1/0xa0 
> >  [<c011d128>] resched_task+0x68/0x90 
> >  [<c011d8ba>] try_to_wake_up+0x2aa/0x2f0 
> >  [<c025ed7a>] fbcon_cursor+0x19a/0x270 
> >  [<c02c4958>] hide_cursor+0x18/0x30 
> >  [<c02c758f>] vt_console_print+0x24f/0x260 
> >  [<c02c7340>] vt_console_print+0x0/0x260 
> >  [<c01247e7>] __call_console_drivers+0x57/0x60 
> >  [<c01248e0>] call_console_drivers+0x80/0x110 
> >  [<c0124d8e>] release_console_sem+0x4e/0xc0 
> >  [<c0124c12>] vprintk+0x192/0x240 
> >  [<c0528891>] preempt_schedule_irq+0x51/0x80 
> >  [<c02adeca>] acpi_processor_idle+0x0/0x265 
> >  [<c010325e>] need_resched+0x1f/0x21 
> >  [<c02adeca>] acpi_processor_idle+0x0/0x265 
> >  [<c0124a77>] printk+0x17/0x20 
> >  [<c010b583>] cpu_init+0x73/0x360 
> >  [<c0117bd6>] start_secondary+0x6/0x170 
> > Code: d2 74 bd fc 8b 44 24 28 b9 0e 00 00 00 8b 74 24 14 01 c6 b8
> 0e 
> > 00 00 00 89 74 24 1c 8b 74 24 30 89 44 24 10 8b 7c 24 1c 83 c6 10
> <f3> 
> > a5 8b 74 24 24 8b 44 24 1c 89 4c 24 10 01 ee f7 d5 21 ee 89 
> >  <0>Kernel panic - not syncing: Attempted to kill the idle task! 
> >  Stuck ?? 
> > Inquiring remote APIC #0... 
> > ... APIC #0 ID: 00000000 
> > ... APIC #0 VERSION: 00040011 
> > ... APIC #0 SPIV: 000000ff 
> > root@hobit:/sys/devices/system/cpu/cpu1# 
> Andrew, 
> Below patch fixed Pavel's oops. But strange is the 'system_state'
> check 
> is added for CPU hotplug by Rusty. This really makes me confused.
> Could 
> you please look at it. 
> This can be reproduced 100% with radeonfb driver load. Attached is
> the 
> dmesg of an oops. It seems the 'objp' parameter for 
> 'cache_alloc_debugcheck_after' is invalid.
> 
> Thanks, 
> Shaohua
> 
> --- a/kernel/printk.c   2005-04-12 10:12:19.000000000 +0800 
> +++ b/kernel/printk.c   2005-04-13 17:22:40.912897328 +0800 
> @@ -624,8 +624,7 @@ asmlinkage int vprintk(const char *fmt,  
>                         log_level_unknown = 1; 
>         } 
>   
> -       if (!cpu_online(smp_processor_id()) && 
> -           system_state != SYSTEM_RUNNING) { 
> +       if (!cpu_online(smp_processor_id())) { 
>                 /* 
>                  * Some console drivers may assume that per-cpu resources have 
>                  * been allocated.  So don't allow them to be called by this
Andrew,
Could above patch be put into mm tree? It fixes the oops of CPU hotplug
with radeon fb enabled.
The reason is the per-cpu data (radeon fb calls kmalloc) isn't
initialized when CPU hotplug is processing. system_state is
SYSTEM_RUNNING for cpu hotplug.

Thanks,
Shaohua

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux