accel/ivpu: Move recovery work to system_unbound_wq
authorKarol Wachowski <karol.wachowski@intel.com>
Wed, 29 Jan 2025 12:56:36 +0000 (13:56 +0100)
committerJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Mon, 3 Feb 2025 09:40:34 +0000 (10:40 +0100)
Recovery work doesn't need to be bound to any specific CPU, so move it
to unbound workqueue to improve execution time and system latency.

Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Signed-off-by: Karol Wachowski <karol.wachowski@intel.com>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250129125636.1047413-7-jacek.lawrynowicz@linux.intel.com
drivers/accel/ivpu/ivpu_pm.c

index 8f6222d1572041c76cbec6c9ae7ddcaab3ab61bc..d3db944ad86435aa5dee619e8287daee3da7bb7a 100644 (file)
@@ -165,7 +165,7 @@ void ivpu_pm_trigger_recovery(struct ivpu_device *vdev, const char *reason)
        if (atomic_cmpxchg(&vdev->pm->reset_pending, 0, 1) == 0) {
                ivpu_hw_diagnose_failure(vdev);
                ivpu_hw_irq_disable(vdev); /* Disable IRQ early to protect from IRQ storm */
-               queue_work(system_long_wq, &vdev->pm->recovery_work);
+               queue_work(system_unbound_wq, &vdev->pm->recovery_work);
        }
 }