jump label: Initialize workqueue tracepoints *before* they are registered
Initialize the workqueue data structures *before* they are registered so that they are ready for callbacks. Signed-off-by: Jason Baron <jbaron@redhat.com> LKML-Reference: <e3a3383fc370ac7086625bebe89d9480d7caf372.1284733808.git.jbaron@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Родитель
bf5438fca2
Коммит
e0cf0cd496
|
@ -263,6 +263,11 @@ int __init trace_workqueue_early_init(void)
|
||||||
{
|
{
|
||||||
int ret, cpu;
|
int ret, cpu;
|
||||||
|
|
||||||
|
for_each_possible_cpu(cpu) {
|
||||||
|
spin_lock_init(&workqueue_cpu_stat(cpu)->lock);
|
||||||
|
INIT_LIST_HEAD(&workqueue_cpu_stat(cpu)->list);
|
||||||
|
}
|
||||||
|
|
||||||
ret = register_trace_workqueue_insertion(probe_workqueue_insertion, NULL);
|
ret = register_trace_workqueue_insertion(probe_workqueue_insertion, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -279,11 +284,6 @@ int __init trace_workqueue_early_init(void)
|
||||||
if (ret)
|
if (ret)
|
||||||
goto no_creation;
|
goto no_creation;
|
||||||
|
|
||||||
for_each_possible_cpu(cpu) {
|
|
||||||
spin_lock_init(&workqueue_cpu_stat(cpu)->lock);
|
|
||||||
INIT_LIST_HEAD(&workqueue_cpu_stat(cpu)->list);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
no_creation:
|
no_creation:
|
||||||
|
|
Загрузка…
Ссылка в новой задаче