Re: 2.6.25-rc3-git3: Reported regressions from 2.6.24

From: Andrew Morton
Date: Thu Mar 06 2008 - 15:53:48 EST


On Thu, 6 Mar 2008 12:11:27 -0800
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> Reminder: what _does_ fix it is:
>
> a) CONFIG_DETECT_SOFTLOCKUP=n or
>
> b) This:
>
> --- a/kernel/softlockup.c~softlockup-workaround
> +++ a/kernel/softlockup.c
> @@ -289,6 +289,7 @@ cpu_callback(struct notifier_block *nfb,
> case CPU_DEAD_FROZEN:
> p = per_cpu(watchdog_task, hotcpu);
> per_cpu(watchdog_task, hotcpu) = NULL;
> + msleep(1);
> kthread_stop(p);
> break;
> #endif /* CONFIG_HOTPLUG_CPU */

sysrq-t works: http://userweb.kernel.org/~akpm/x.txt

It shows that `halt' is stuck in kthread_stop(), waiting for `watchdog' to
go away. But all the watchdog tasks are dreamily asleep, as if the wakeup
didn't work.

I'd love to poke around in kgdb (what does kthread_stop_info.k point at?)
but it seems that -mm's copy of kgdb got taken away when I wasn't looking.
Can I have it back please?

(btw, it isn't compulsory that every cpu callback function be literally
called "cpu_callback").
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/