Re: clocksource: !keventd_up() && schedule_work() == oops

From: Jiri Slaby
Date: Mon Sep 14 2009 - 05:28:43 EST


On 09/09/2009 10:00 AM, Jiri Slaby wrote:
> Hi,
>
> I started to see oopses on boot in qemu machine because keventd is
> created in kernel_init/do_basic_setup, but schedule_work is done earlier
> in kernel_init/smp_init[1] when the tsc is unstable during this early phase.
>
> It looks like "clocksource: Resolve cpu hotplug dead lock with TSC
> unstable" is the culprit.
>
> Creating its own either singlethread or "multithread" workqueue won't
> work either (we do not have singlethread_cpu and cpu_populated_map).
> Checking !keventd_up() in the clocksource code looks to me like a hack.
> Any ideas, please?

Still present in mmotm 2009-09-14-01-57.

> [1]
> kernel_init/smp_init/cpu_up/native_cpu_up/check_tsc_sync_source/mark_tsc_unstable/clocksource_mark_unstable/__clocksource_unstable

--
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/