Re: 2.6.32-rc5-mmotm1101 - lockdep whinge during early boot

From: Martin Schwidefsky
Date: Thu Nov 05 2009 - 09:54:23 EST


That is imho caused by this patch snippet from the linux-next.patch from mmotd:

diff -puN arch/x86/kernel/tsc.c~linux-next arch/x86/kernel/tsc.c
--- a/arch/x86/kernel/tsc.c~linux-next
+++ a/arch/x86/kernel/tsc.c
@@ -763,14 +763,12 @@ void mark_tsc_unstable(char *reason)
{
if (!tsc_unstable) {
tsc_unstable = 1;
- printk(KERN_INFO "Marking TSC unstable due to %s\n", reason);
+ printk("Marking TSC unstable due to %s\n", reason);
/* Change only the rating, when not registered */
if (clocksource_tsc.mult)
- clocksource_mark_unstable(&clocksource_tsc);
- else {
- clocksource_tsc.flags |= CLOCK_SOURCE_UNSTABLE;
+ clocksource_change_rating(&clocksource_tsc, 0);
+ else
clocksource_tsc.rating = 0;
- }
}
}


The upstream variant of mark_tsc_unstable uses clocksource_mark_unstable
which does not take the mutex. The reason is the clocksource mutex vs. the
cpu_add_remove_lock spinlock.

--
blue skies,
Martin
--
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/