habanalabs: use single threaded WQ for event handling

Creating event queue workqueue using alloc_workqueue made it run in
multi threaded mode, which caused parallel dumping of events as well as
parallel events notifying to user, causing logs with multiple
events to be out of order.

Fixed by creating event queue workqueue as single threaded work queue.

Signed-off-by: Dani Liberman <dliberman@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
This commit is contained in:
Dani Liberman 2022-10-27 20:38:26 +03:00 committed by Oded Gabbay
parent cb5fb665f3
commit cd21701cde

View File

@ -787,7 +787,7 @@ static int device_early_init(struct hl_device *hdev)
}
}
hdev->eq_wq = alloc_workqueue("hl-events", WQ_UNBOUND, 0);
hdev->eq_wq = create_singlethread_workqueue("hl-events");
if (hdev->eq_wq == NULL) {
dev_err(hdev->dev, "Failed to allocate EQ workqueue\n");
rc = -ENOMEM;