* jidong xiao <[email protected]> wrote:

> Hi, Ingo,
> 
> I am looking the source code of function softlockup_tick()
> 
>     137         /* Warn about unreasonable delays: */
>     138         if (now <= (touch_timestamp + softlockup_thresh))
>     139                 return;
>     140
>     141         per_cpu(print_timestamp, this_cpu) = touch_timestamp;
>     142
>     143         spin_lock(&print_lock);
>     144         printk(KERN_ERR "BUG: soft lockup - CPU#%d stuck for
> %lus! [%s:%d]\n",
>     145                         this_cpu, now - touch_timestamp,
>     146                         current->comm, task_pid_nr(current));
>     147         print_modules();
>     148         print_irqtrace_events(current);
>     149         if (regs)
>     150                 show_regs(regs);
>     151         else
>     152                 dump_stack();
>     153         spin_unlock(&print_lock);
>     154
>     155         if (softlockup_panic)
>     156                 panic("softlockup: hung tasks");
> 
> my kernel is kdb patched kernel, and it looks like if I stay in kdb
> for more than 60 seconds, I will receive a warning about softlockup
> when I leave kdb. it is very annoying to see the warning message
> especially in SMP environment, sometimes this could even hung the
> machine. A simple way here is:
> 
> #ifdef CONFIG_KDB
>  not trigger softlockup or set softlockup_thresh to be a very high value.
> #elseif
>  trigger softlockup if CPU stuck for more than 60 seconds
> #endif
> 
> However I feel this approach is far from perfect. Do you have any
> advice on how to avoid this warning?

Where does kdb spend this time? It's probably polling on something 
(keyboard ports?) - so the right approach would be to fix up the 
touch_timestamp or so.

I suspect kgdb has similar problems - if you fix it there and if you 
have to touch kernel/softlockup.c for that i can apply those bits 
even though kdb patches are not upstream.

        Ingo

_______________________________________________
kdb mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/kdb

Reply via email to