From nobody Sun Feb 8 05:29:01 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D41303126CA for ; Sat, 24 Jan 2026 14:54:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769266479; cv=none; b=YZpeu+nqOBLJhhJJd+1PReBLyTZGOslsOu9S85Cfzq8XaUrW4daB6JbhMAsqsMWuu+PGtXfJYIsZMyJvfCsE8T7mvQmV0hfGxvi5Q3vTNithP4f28Qb5IlXRuERVSERj0KLGkIvDTqmXPT+kpGvjXcSCbAb1xE4kukOr/1RW7Ws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769266479; c=relaxed/simple; bh=jMI8tmkR9m3dPBjMFeR3r9Ub3xtbEVBHcdVSgwyljHU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ddy4Xwy1GZd5zgA1Akc864X+L338IoWaBACJNVVA2HHXwpZYuRvpF36ubaxEy3nk2H5g/cREEoHQvqqU6ovIIOS1b3EqAwDP8P0gFYh42pjyWFR93R3sg7E67spbYsIId7K/DGe7Kr5ecFirK52t2MkZ92d/azHdp7wEo3HvwfU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=RHLBJV3x; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="RHLBJV3x" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-4359a302794so1976403f8f.1 for ; Sat, 24 Jan 2026 06:54:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1769266476; x=1769871276; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GcLRdckqL2bDQQnlnn9F4YkmRBDwOQT2WMgK3WpAXVM=; b=RHLBJV3x+xbDKndCJ4K2IP6QP6SpycdQwy3wL7GAvVGDqewP6Ne2SWiUdgaRwn3ebp M698gWrHRHOpHcRLoxQqXNES7qAFpKNrIcancVCP4DCGq+v5W3rbfS0b+7MBLbFnVJ9l dk1utK5Ln9k/3Q+/HTrUdYsr0+kviot692DvGXa+1FrutLe+e4KJjVjvbugI0Zww/OCk k1HEqnmWLvcGzGntdtPJy3zVZ85sVdIczniD4bLPt9wevVsvvnfhKE8vxtZPpBnyIpC9 3T6QiV0aNb1uZZDbzYhgiMU/qUw3+112zjk75u1MO29TIKKbbsWkoG6i4ZMH9D6P7voM cGUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769266476; x=1769871276; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=GcLRdckqL2bDQQnlnn9F4YkmRBDwOQT2WMgK3WpAXVM=; b=pwx7gpNijq5h56CfvF8ouFK1t3nFzu+EbW7vDUJwOaKYm4FA+S2wdIP+yx959ZoafZ xWo8nCBgzmgRdXAHoF+s62sFIQ8fBYLLlOV+TKry0PsHKcPatNo+ReD6RcV6yYKWCRW9 IMaNG7/WfkLkAlm4lMCXLoInsSyt4ASESxlHWpvrnaVlPi3WWsoFkRsTnB40tzZbjZvI sZdLjDyN+X2CiRzTZ/uQoq6USKjUFpnkdcvD5Z6Z+Czl/Scr6Lqw925wsIl1uZq5XbWo KeDWYLRSx0pPqxVnJh6w9usPlNNorE8IDSmkrFTIvG1SfOLrNyFMLLmmNTrC4FjjnDE8 dZoA== X-Gm-Message-State: AOJu0YyuQIG9PY2XUzfu4xeLMuOdIwbxv6/fBXnWOLC0BZfd9nNCSQjN aKzUpdnJgVUE9Vg6fM/Va5R7kijNwXS8qIxU7QLZcNw4th/OujrgpRT9IOjgYCO5k36t/yHcnwp jWCJb X-Gm-Gg: AZuq6aICrLW34IRyisDNvzOLWlMyfK6s2Ck5cWuYvWZsirCacVOkf+dOXsclmEkG6VV BCHoR7Dk10+GoglsSkCXg7mU9kowkKDFmaU4gKGmPVijhcA0S/aW0idWD6umxYHJPOMm/2NBShX +vtxzdo7nzxJ44SdBTeU6dYYAD13nj7pTAeeEPeXoLrVPGn0kkw1uYzOolPUmL9mwBl4zQywLjW Rdqgg5kIkhXc6734FYAsv9ESRqShuW+zyT7Yf7htdvdrePkLLsnuzXM/QlxeMyOv7btMhjl5J1P pDEtZPJx+VrhONsItdKOOGHhVxh/VS09dmj0LFs6bnl1yWruG04/JsIAWT8qvcHOcwuCJYZGMfp ktjRdWI1FgiOgpHKnFGTVe3DACKdkUfCPWlYkU8nqnxAII6PjEy9CAZSD88HhkXPq7dgQk3s9dI OJPInc2OmHg3YafQ== X-Received: by 2002:a05:6000:2504:b0:431:488:b9bc with SMTP id ffacd0b85a97d-435b1591276mr10891979f8f.10.1769266475901; Sat, 24 Jan 2026 06:54:35 -0800 (PST) Received: from linux ([2a00:6d43:105:c401:e307:1a37:2e76:ce91]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435b1f73855sm14846241f8f.29.2026.01.24.06.54.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 06:54:35 -0800 (PST) From: Marco Crivellari To: linux-kernel@vger.kernel.org, intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Tejun Heo , Lai Jiangshan , Frederic Weisbecker , Sebastian Andrzej Siewior , Marco Crivellari , Michal Hocko , Thomas Hellstrom , Rodrigo Vivi , David Airlie , Simona Vetter Subject: [PATCH v3 1/2] drm/xe: replace use of system_unbound_wq with system_dfl_wq Date: Sat, 24 Jan 2026 15:54:00 +0100 Message-ID: <20260124145401.44992-2-marco.crivellari@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124145401.44992-1-marco.crivellari@suse.com> References: <20260124145401.44992-1-marco.crivellari@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This patch continues the effort to refactor workqueue APIs, which has begun with the changes introducing new workqueues and a new alloc_workqueue flag: commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq") commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag") The point of the refactoring is to eventually alter the default behavior of workqueues to become unbound by default so that their workload placement is optimized by the scheduler. Before that to happen, workqueue users must be converted to the better named new workqueues with no intended behaviour changes: system_wq -> system_percpu_wq system_unbound_wq -> system_dfl_wq This way the old obsolete workqueues (system_wq, system_unbound_wq) can be removed in the future. Link: https://lore.kernel.org/all/20250221112003.1dSuoGyc@linutronix.de/ Suggested-by: Tejun Heo Signed-off-by: Marco Crivellari --- drivers/gpu/drm/xe/xe_devcoredump.c | 2 +- drivers/gpu/drm/xe/xe_execlist.c | 2 +- drivers/gpu/drm/xe/xe_guc_ct.c | 4 ++-- drivers/gpu/drm/xe/xe_oa.c | 2 +- drivers/gpu/drm/xe/xe_vm.c | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_de= vcoredump.c index d444eda65ca6..6b47aaf8cc9f 100644 --- a/drivers/gpu/drm/xe/xe_devcoredump.c +++ b/drivers/gpu/drm/xe/xe_devcoredump.c @@ -362,7 +362,7 @@ static void devcoredump_snapshot(struct xe_devcoredump = *coredump, =20 xe_engine_snapshot_capture_for_queue(q); =20 - queue_work(system_unbound_wq, &ss->work); + queue_work(system_dfl_wq, &ss->work); =20 xe_force_wake_put(gt_to_fw(q->gt), fw_ref); dma_fence_end_signalling(cookie); diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execl= ist.c index 769d05517f93..730b600a5803 100644 --- a/drivers/gpu/drm/xe/xe_execlist.c +++ b/drivers/gpu/drm/xe/xe_execlist.c @@ -422,7 +422,7 @@ static void execlist_exec_queue_kill(struct xe_exec_que= ue *q) static void execlist_exec_queue_destroy(struct xe_exec_queue *q) { INIT_WORK(&q->execlist->destroy_async, execlist_exec_queue_destroy_async); - queue_work(system_unbound_wq, &q->execlist->destroy_async); + queue_work(system_dfl_wq, &q->execlist->destroy_async); } =20 static int execlist_exec_queue_set_priority(struct xe_exec_queue *q, diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c index a5019d1e741b..351c9986f6cf 100644 --- a/drivers/gpu/drm/xe/xe_guc_ct.c +++ b/drivers/gpu/drm/xe/xe_guc_ct.c @@ -558,7 +558,7 @@ static int __xe_guc_ct_start(struct xe_guc_ct *ct, bool= needs_register) spin_lock_irq(&ct->dead.lock); if (ct->dead.reason) { ct->dead.reason |=3D (1 << CT_DEAD_STATE_REARM); - queue_work(system_unbound_wq, &ct->dead.worker); + queue_work(system_dfl_wq, &ct->dead.worker); } spin_unlock_irq(&ct->dead.lock); #endif @@ -2093,7 +2093,7 @@ static void ct_dead_capture(struct xe_guc_ct *ct, str= uct guc_ctb *ctb, u32 reaso =20 spin_unlock_irqrestore(&ct->dead.lock, flags); =20 - queue_work(system_unbound_wq, &(ct)->dead.worker); + queue_work(system_dfl_wq, &(ct)->dead.worker); } =20 static void ct_dead_print(struct xe_dead_ct *dead) diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c index f8bb28ab8124..c8e65e38081c 100644 --- a/drivers/gpu/drm/xe/xe_oa.c +++ b/drivers/gpu/drm/xe/xe_oa.c @@ -969,7 +969,7 @@ static void xe_oa_config_cb(struct dma_fence *fence, st= ruct dma_fence_cb *cb) struct xe_oa_fence *ofence =3D container_of(cb, typeof(*ofence), cb); =20 INIT_DELAYED_WORK(&ofence->work, xe_oa_fence_work_fn); - queue_delayed_work(system_unbound_wq, &ofence->work, + queue_delayed_work(system_dfl_wq, &ofence->work, usecs_to_jiffies(NOA_PROGRAM_ADDITIONAL_DELAY_US)); dma_fence_put(fence); } diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c index 095bb197e8b0..ddf0a9567614 100644 --- a/drivers/gpu/drm/xe/xe_vm.c +++ b/drivers/gpu/drm/xe/xe_vm.c @@ -1091,7 +1091,7 @@ static void vma_destroy_cb(struct dma_fence *fence, struct xe_vma *vma =3D container_of(cb, struct xe_vma, destroy_cb); =20 INIT_WORK(&vma->destroy_work, vma_destroy_work_func); - queue_work(system_unbound_wq, &vma->destroy_work); + queue_work(system_dfl_wq, &vma->destroy_work); } =20 static void xe_vma_destroy(struct xe_vma *vma, struct dma_fence *fence) @@ -1854,7 +1854,7 @@ static void xe_vm_free(struct drm_gpuvm *gpuvm) struct xe_vm *vm =3D container_of(gpuvm, struct xe_vm, gpuvm); =20 /* To destroy the VM we need to be able to sleep */ - queue_work(system_unbound_wq, &vm->destroy_work); + queue_work(system_dfl_wq, &vm->destroy_work); } =20 struct xe_vm *xe_vm_lookup(struct xe_file *xef, u32 id) --=20 2.52.0 From nobody Sun Feb 8 05:29:01 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 34EF4319852 for ; Sat, 24 Jan 2026 14:54:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769266480; cv=none; b=CA3YYQC2m/KvNLwp2snYDPowc0E+aS7+otGxynf6ZrM1n4fDjRJl136MPnsahP6SC1hQeOsfg3hmBQzQort5a0nfDj35JchgY8axuBfbJ9s0tCufRv3LAPe6tuy+P8L1+o+V4PPXr3svv3g9/b+rmUQLuL8JEhf5z4GGH3ENB3c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769266480; c=relaxed/simple; bh=+v0G4QqghyeEwwXH6HcEw344JMgWEGXKUg7+HbQ6wcI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=vB+4vwTsC/XyUkutVGlPF6DczQZdeSYV9qv1eNAkaP3bXL9L+u8cxGWarLjGN4jZc7JMWDDLgR2J4d5eIjJEZ/2n2omkWNin/+crd/XeZUHn40pJeFRD0bZa8SVEsYKrz3rATXfr4GJRne4coQMNIM4RKQFB+Kz5FliVhSIQ7qQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=V8wZtymK; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="V8wZtymK" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-47edd6111b4so36738555e9.1 for ; Sat, 24 Jan 2026 06:54:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1769266477; x=1769871277; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LHc4Ub/6LqQBr/dlSGg55syvwKsNbB8vfiClU/RuIFk=; b=V8wZtymKK97JQ3bPfKO/lrih08Vur5uLWUHXF01cHaO5FbB7u1mNzSVOcBGLjVnOO7 hmnVECwcZzQMT/bq3Z5ANnnfpVNWv6KwLq5Mfb2B5LqzWf7RxPn53NyWguW28UMmgOoz bGls3Gik6Qfj7vS4Ha14qWdfTW5Cs2lBgAXsT2PSbwa/zyYhflKzkUgNdmCmKpopp/tv Fgy/MShCg6xaE59AB+NYEdwXUYTntmANGX2msrh3lavgTHRlF94YnrR8Qgqa6OJXVBBt Rde0tT1W7MNNSLdlAOpTzskdWNCMu0zw5sZ8VEhKXxbiIPtW7D8acyeVrsBdO9J+ajXC YmLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769266477; x=1769871277; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LHc4Ub/6LqQBr/dlSGg55syvwKsNbB8vfiClU/RuIFk=; b=xG6bo2HiwUXKA73M1RkTNuUlDjJGDyU80pMrGcjhlf3LaEjqok9C7ZI/OUPERRxWCq Oo1e+patJ6QT9HtWd9sIWP8k934+Vbh4n0VpiJ0uky4UlnYQqgT69K6277xMlL5k127S picS+iuvFTEgY9b9KRMOINgZ+PyelvDsQanaJQ2uUnlDZzlQ9AYL+SpXshW/CVCYRN8+ MsZo/hEoMPnAB9oIn006lQmU3SnI6s4TFiZGde2rttu5svmDd5PRr3h1PDD3tsC9a5w7 2iLjlWY7daPR/rcBArJrC7ZQu+Q8k+t7d4yXMlnbLj1EWMlQyttkHE/Y0J6OSEOELlvD 6/UA== X-Gm-Message-State: AOJu0YxaOXwmMDxq/H/aIPfZnZHhlQmWrlbaApAaKvDsRV9rdt4WEPHk ORhAQsiQxUsXKOsoNzTUtgYTSKi95jZNDLf+0N0QROszzDXTS3EZ4q4fKIO+T9BclVulknLJXPx 7S4un X-Gm-Gg: AZuq6aLS7EYs0TkQe8mnwp8kEzgeOf5TOjkrdNxAoYgm+csMoGsiGNWnsqbDOmC10eW uQr/CwXDkeb0K33585KO6tzLN4Ro3OFVNOvDq75aPyKPSa0dm9/El4t5csdIaOV3ZFcl8v6zl7E EerIg6gPfjSLguk5l05nAdmqKpAQIFCcmOJpxet0HyVZ81tLKzWhE3/uib5w/yniENXkiHAlGYP PiP89MT0GbEi2qTckMPPzu9CSBt1CYVtOYf2NTh/3ZdUTImC7kuGO/3hAKN4PnHICgAqZ2qURbd rw82DwQURzWLFMwZwIYgQzHO9KWuDOCJ3+dzXvguk0wl+7i6Y0Kt0/0x83wEcmA1teRKIFLoSXl 7lENV+OWK/SNfTqZSn8mHl7qyw0LwKMwr67CbuQuqy70aOypaI7vVPMkjOfWZxNC8UufWhr1uoI jjREiusGJpQjQzxA== X-Received: by 2002:a05:6000:144a:b0:431:1ae:a3ca with SMTP id ffacd0b85a97d-435b1587d00mr12343074f8f.11.1769266477265; Sat, 24 Jan 2026 06:54:37 -0800 (PST) Received: from linux ([2a00:6d43:105:c401:e307:1a37:2e76:ce91]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435b1f73855sm14846241f8f.29.2026.01.24.06.54.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 06:54:36 -0800 (PST) From: Marco Crivellari To: linux-kernel@vger.kernel.org, intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Tejun Heo , Lai Jiangshan , Frederic Weisbecker , Sebastian Andrzej Siewior , Marco Crivellari , Michal Hocko , Thomas Hellstrom , Rodrigo Vivi , David Airlie , Simona Vetter Subject: [PATCH v3 2/2] drm/xe: add WQ_PERCPU to alloc_workqueue users Date: Sat, 24 Jan 2026 15:54:01 +0100 Message-ID: <20260124145401.44992-3-marco.crivellari@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124145401.44992-1-marco.crivellari@suse.com> References: <20260124145401.44992-1-marco.crivellari@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This continues the effort to refactor workqueue APIs, which began with the introduction of new workqueues and a new alloc_workqueue flag in: commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq") commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag") The refactoring is going to alter the default behavior of alloc_workqueue() to be unbound by default. With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND), any alloc_workqueue() caller that doesn=E2=80=99t explicitly specify WQ_UNB= OUND must now use WQ_PERCPU. For more details see the Link tag below. In order to keep alloc_workqueue() behavior identical, explicitly request WQ_PERCPU. Link: https://lore.kernel.org/all/20250221112 Suggested-by: Tejun Heo Signed-off-by: Marco Crivellari --- drivers/gpu/drm/xe/xe_device.c | 4 ++-- drivers/gpu/drm/xe/xe_ggtt.c | 2 +- drivers/gpu/drm/xe/xe_hw_engine_group.c | 3 ++- drivers/gpu/drm/xe/xe_sriov.c | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index cf29e259861f..1b20ea03a938 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -488,8 +488,8 @@ struct xe_device *xe_device_create(struct pci_dev *pdev, xe->preempt_fence_wq =3D alloc_ordered_workqueue("xe-preempt-fence-wq", WQ_MEM_RECLAIM); xe->ordered_wq =3D alloc_ordered_workqueue("xe-ordered-wq", 0); - xe->unordered_wq =3D alloc_workqueue("xe-unordered-wq", 0, 0); - xe->destroy_wq =3D alloc_workqueue("xe-destroy-wq", 0, 0); + xe->unordered_wq =3D alloc_workqueue("xe-unordered-wq", WQ_PERCPU, 0); + xe->destroy_wq =3D alloc_workqueue("xe-destroy-wq", WQ_PERCPU, 0); if (!xe->ordered_wq || !xe->unordered_wq || !xe->preempt_fence_wq || !xe->destroy_wq) { /* diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c index 793d7324a395..0849917b16c7 100644 --- a/drivers/gpu/drm/xe/xe_ggtt.c +++ b/drivers/gpu/drm/xe/xe_ggtt.c @@ -322,7 +322,7 @@ int xe_ggtt_init_early(struct xe_ggtt *ggtt) else ggtt->pt_ops =3D &xelp_pt_ops; =20 - ggtt->wq =3D alloc_workqueue("xe-ggtt-wq", WQ_MEM_RECLAIM, 0); + ggtt->wq =3D alloc_workqueue("xe-ggtt-wq", WQ_MEM_RECLAIM | WQ_PERCPU, 0); if (!ggtt->wq) return -ENOMEM; =20 diff --git a/drivers/gpu/drm/xe/xe_hw_engine_group.c b/drivers/gpu/drm/xe/x= e_hw_engine_group.c index fa4db5f23342..8526addcdf42 100644 --- a/drivers/gpu/drm/xe/xe_hw_engine_group.c +++ b/drivers/gpu/drm/xe/xe_hw_engine_group.c @@ -48,7 +48,8 @@ hw_engine_group_alloc(struct xe_device *xe) if (!group) return ERR_PTR(-ENOMEM); =20 - group->resume_wq =3D alloc_workqueue("xe-resume-lr-jobs-wq", 0, 0); + group->resume_wq =3D alloc_workqueue("xe-resume-lr-jobs-wq", WQ_PERCPU, + 0); if (!group->resume_wq) return ERR_PTR(-ENOMEM); =20 diff --git a/drivers/gpu/drm/xe/xe_sriov.c b/drivers/gpu/drm/xe/xe_sriov.c index ea411944609b..f3835867fce5 100644 --- a/drivers/gpu/drm/xe/xe_sriov.c +++ b/drivers/gpu/drm/xe/xe_sriov.c @@ -120,7 +120,7 @@ int xe_sriov_init(struct xe_device *xe) xe_sriov_vf_init_early(xe); =20 xe_assert(xe, !xe->sriov.wq); - xe->sriov.wq =3D alloc_workqueue("xe-sriov-wq", 0, 0); + xe->sriov.wq =3D alloc_workqueue("xe-sriov-wq", WQ_PERCPU, 0); if (!xe->sriov.wq) return -ENOMEM; =20 --=20 2.52.0