lkml.org 
[lkml]   [2009]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectclocksource: !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


\
 
 \ /
  Last update: 2009-09-09 10:03    [W:0.051 / U:0.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site