Messages in this thread | | | Date | Wed, 09 Sep 2009 10:00:54 +0200 | From | Jiri Slaby <> | Subject | clocksource: !keventd_up() && schedule_work() == oops |
| |
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?
[1] kernel_init/smp_init/cpu_up/native_cpu_up/check_tsc_sync_source/mark_tsc_unstable/clocksource_mark_unstable/__clocksource_unstable
| |