Commit 179cb81a authored by Heiko Carstens's avatar Heiko Carstens

[S390] etr/stp: fix possible deadlock

Precreate stop_machine threads in case the machine supports ETR/STP.
Otherwise we might deadlock if a time sync operation gets scheduled
and the creation of stop_machine threads would cause disk I/O.
This is just the minimal fix.
The real fix would be to only precreate stop_machine threads if
ETR/STP is actually used. But that would be a rather large and
complicated patch.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent f9a2f797
...@@ -399,8 +399,10 @@ static struct workqueue_struct *time_sync_wq; ...@@ -399,8 +399,10 @@ static struct workqueue_struct *time_sync_wq;
static void __init time_init_wq(void) static void __init time_init_wq(void)
{ {
if (!time_sync_wq) if (time_sync_wq)
time_sync_wq = create_singlethread_workqueue("timesync"); return;
time_sync_wq = create_singlethread_workqueue("timesync");
stop_machine_create();
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment