<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2800.1498" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=971390621-10082006>Hi
All,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=971390621-10082006>We have developed
our own custom board based on MPC8541 board running linux
2.6.11</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=971390621-10082006>During stress
testing the system we get following kernel panic which related to timer
cascase.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=971390621-10082006>Any hints greatly
apprieciated. Many thanks in advance:</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=971390621-10082006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=971390621-10082006><FONT
face=Courier>kernel BUG in cascade at kernel/timer.c:416!<BR>Oops: Exception in
kernel mode, sig: 5 [#1]<BR>PREEMPT <BR>NIP: C0023AB4 LR: C0023CC8 SP: C02DDDF0
REGS: c02ddd40 TRAP: 0700 Tainted: P
<BR>MSR: 00021200 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00<BR>TASK = c02bb730[0]
'swapper' THREAD: c02dc000<BR>Last syscall: 120 </FONT><BR></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=971390621-10082006>File timer.c line
416 :</SPAN></FONT></DIV>
<DIV><FONT size=2><SPAN class=971390621-10082006>
<DIV><FONT size=+0><SPAN class=178042520-10082006><FONT face=Arial
size=2> 401 static int cascade(tvec_base_t *base, tvec_t *tv,
int index)<BR> 402 {<BR>
403 /* cascade all the timers
from tv up one level */<BR>
404 struct list_head *head,
*curr;<BR> 405 <BR>
406 head = tv->vec +
index;<BR> 407
curr = head->next;<BR>
408 /*<BR>
409 * We are removing
_all_ timers from the list, so we don't
have<BR>
to<BR>
410 * detach them
individually, just clear the list afterwards.<BR>
411 */
<BR> 412 while
(curr != head) {<BR>
413
struct timer_list *tmp;<BR>
414 <BR>
415
tmp = list_entry(curr, struct timer_list, entry);<BR>
416
BUG_ON(tmp->base != base);<BR>
417
curr = curr->next;<BR>
418
internal_add_timer(base, tmp);<BR>
419 }<BR>
420
INIT_LIST_HEAD(head);<BR> 421 <BR>
422 return
index;<BR></FONT></SPAN></FONT></DIV>
<DIV><FONT size=+0><SPAN class=178042520-10082006><FONT face=Arial
size=2></FONT></SPAN></FONT> </DIV>
<DIV><FONT face=Arial><SPAN class=178042520-10082006><SPAN
class=971390621-10082006>Regards,</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial><SPAN class=178042520-10082006><SPAN
class=971390621-10082006>Bizhan</SPAN></SPAN></FONT></DIV></DIV></SPAN></FONT></BODY></HTML>