create_singlethread_workqueue() is deprecated. Replace it with

alloc_ordered_workqueue() to use the shared system workqueue

infrastructure more efficiently.

WQ_MEM_RECLAIM is added to ensure the mailbox can process

interrupts under memory pressure.

Signed-off-by: George Karagounis <[email protected]>
---
 drivers/accel/amdxdna/amdxdna_mailbox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/accel/amdxdna/amdxdna_mailbox.c 
b/drivers/accel/amdxdna/amdxdna_mailbox.c
index cc8865f4e79c..05c3786de135 100644
--- a/drivers/accel/amdxdna/amdxdna_mailbox.c
+++ b/drivers/accel/amdxdna/amdxdna_mailbox.c
@@ -481,7 +481,7 @@ struct mailbox_channel *xdna_mailbox_alloc_channel(struct 
mailbox *mb)
                return NULL;
 
        INIT_WORK(&mb_chann->rx_work, mailbox_rx_worker);
-       mb_chann->work_q = create_singlethread_workqueue(MAILBOX_NAME);
+       mb_chann->work_q = alloc_ordered_workqueue(MAILBOX_NAME, 
WQ_MEM_RECLAIM);
        if (!mb_chann->work_q) {
                MB_ERR(mb_chann, "Create workqueue failed");
                goto free_chann;
-- 
2.55.0

Reply via email to