Subject: kernel panic:BUG in cascade at kernel/timer.c

Hi All,
We have developed our own custom board based on MPC8541 board running
linux 2.6.11 During stress testing the system we get following kernel
panic which related to timer cascase.
Any hints greatly apprieciated. Many thanks in advance:

kernel BUG in cascade at kernel/timer.c:416!
Oops: Exception in kernel mode, sig: 5 [#1] PREEMPT
NIP: C0023AB4 LR: C0023CC8 SP: C02DDDF0 REGS: c02ddd40 TRAP: 0700
Tainted: P
MSR: 00021200 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00 TASK = c02bb730[0]
'swapper' THREAD: c02dc000 Last syscall: 120

File timer.c line 416 :
401 static int cascade(tvec_base_t *base, tvec_t *tv, int index)
402 {
403 /* cascade all the timers from tv up one level */
404 struct list_head *head, *curr;
405
406 head = tv->vec + index;
407 curr = head->next;
408 /*
409 * We are removing _all_ timers from the list, so we
don't have
to
410 * detach them individually, just clear the list
afterwards.
411 */
412 while (curr != head) {
413 struct timer_list *tmp;
414
415 tmp = list_entry(curr, struct timer_list,
entry);
416 BUG_ON(tmp->base != base);
417 curr = curr->next;
418 internal_add_timer(base, tmp);
419 }
420 INIT_LIST_HEAD(head);
421
422 return index;


Regards,
Bizhan


2006-08-10 22:48:16

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: kernel panic:BUG in cascade at kernel/timer.c

On Thu, Aug 10, 2006 at 02:26:15PM -0700, Bizhan Gholikhamseh (bgholikh) wrote:
> We have developed our own custom board based on MPC8541 board running
> linux 2.6.11 During stress testing the system we get following kernel
> panic which related to timer cascase.
> Any hints greatly apprieciated.

Put source somewhere so people can find bug in it.

> kernel BUG in cascade at kernel/timer.c:416!
> Tainted: P

2006-08-11 00:58:17

by Ravikiran G Thirumalai

[permalink] [raw]
Subject: Re: kernel panic:BUG in cascade at kernel/timer.c

On Thu, Aug 10, 2006 at 02:26:15PM -0700, Bizhan Gholikhamseh (bgholikh) wrote:
> Hi All,
> We have developed our own custom board based on MPC8541 board running
> linux 2.6.11 During stress testing the system we get following kernel
> panic which related to timer cascase.
> Any hints greatly apprieciated. Many thanks in advance:

Is this an MP configuration? If timer interrupts are distributed to more
than one cpu this could happen (buggy hardware). Also, I remember a missing
barrier someplace for PPC which was fixed in newer kernels. Read the GIT logs.

HTH
Kiran