Messages in this thread | | | Date | Thu, 22 Feb 2007 02:47:48 +0100 | Subject | Re: 2.6.20-git15 BUG: soft lockup detected on CPU#0! - timers? | From | Michal Piotrowski <> |
| |
Thomas Gleixner napisał(a): > Michal, > > On Wed, 2007-02-21 at 16:38 +0100, Michal Piotrowski wrote: >>> But you still have those softirq pending messages, right ? >> Yes >> >> (+ new NOHZ: local_softirq_pending 02) > > Yike, that's the timer softirq. > > Can you add the patch below, maybe it gives us some useful info. Please > enable lockdep (your last config had it already) >
I hope this helps.
irq event stamp: 103630856 hardirqs last enabled at (103630855): [<c031356a>] _spin_unlock_irq+0x22/0x43 hardirqs last disabled at (103630856): [<c013a00e>] tick_nohz_stop_sched_tick+0x13/0x1fd softirqs last enabled at (103630824): [<c01265df>] __do_softirq+0xe4/0xea softirqs last disabled at (103630819): [<c0106a75>] do_softirq+0x64/0xd1 NOHZ: local_softirq_pending 20, 00000001
(gdb) l *0xc031356a 0xc031356a is in _spin_unlock_irq (include2/asm/irqflags.h:48). 43 __asm__ __volatile__("cli" : : : "memory"); 44 } 45 46 static inline void raw_local_irq_enable(void) 47 { 48 __asm__ __volatile__("sti" : : : "memory"); 49 } 50 51 /* 52 * Used in the idle loop; sti takes one instruction cycle (gdb) l *0xc013a00e 0xc013a00e is in tick_nohz_stop_sched_tick (/mnt/md0/devel/linux-git/kernel/time/tick-sched.c:158). 153 ktime_t last_update, expires, now, delta; 154 int cpu; 155 156 local_irq_save(flags); 157 158 cpu = smp_processor_id(); 159 ts = &per_cpu(tick_cpu_sched, cpu); 160 161 if (unlikely(ts->nohz_mode == NOHZ_MODE_INACTIVE)) 162 goto end; (gdb) l *0xc01265df 0xc01265df is in __do_softirq (/mnt/md0/devel/linux-git/kernel/softirq.c:251). 246 247 trace_softirq_exit(); 248 249 account_system_vtime(current); 250 _local_bh_enable(); 251 } 252 253 #ifndef __ARCH_HAS_DO_SOFTIRQ 254 255 asmlinkage void do_softirq(void) (gdb) l *0xc0106a75 0xc0106a75 is in do_softirq (/mnt/md0/devel/linux-git/arch/i386/kernel/irq.c:222). 217 irqctx->tinfo.previous_esp = current_stack_pointer; 218 219 /* build the stack frame on the softirq stack */ 220 isp = (u32*) ((char*)irqctx + sizeof(*irqctx)); 221 222 asm volatile( 223 " xchgl %%ebx,%%esp \n" 224 " call __do_softirq \n" 225 " movl %%ebx,%%esp \n" 226 : "=b"(isp)
http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.21-rc1/git-config http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.21-rc1/git-dmesg
Regards, Michal
-- Michal K. K. Piotrowski LTG - Linux Testers Group (PL) (http://www.stardust.webpages.pl/ltg/) LTG - Linux Testers Group (EN) (http://www.stardust.webpages.pl/linux_testers_group_en/) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |