From nobody Mon Feb 9 08:55:20 2026 Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) (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 A43BA38BF8F for ; Tue, 13 Jan 2026 11:46:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.65 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768304808; cv=none; b=a+HS/0/Rin8LXqGi+ZTFUJdrEvzLB+em+h76lqw2A+ZBkl/YvwAihE/bwQkuy28n8Y9vyp/2+1Hcm1ox9nVDybQfCQ702QE0lEQTxE+JY23j6IkWdo7Vw+YL06DI/kBIhBCmFgneFlWnwCeBAscgZAGXSPgSW5+A1b222oKgWpU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768304808; c=relaxed/simple; bh=XB115G7zIOxRcVCPI+EOl/BvrxltDXuzReUUWKXR/ow=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lLZNM08lUAvSvUizLQ+NMIYdCocM74k3ENWnLIyKl5XAkgZ4+HI58+780CZ+7JYUj38jCaY8thnXDtVY5M1k0IpW5jmeyHs0Sq8XRhUBPis1hwwBJgzDnhE7JQfS4iBO3fAIEmhuTSMQPjnL08Ddwt7l3dAv596ddkN7qgrXlnM= 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=fOb3bjl/; arc=none smtp.client-ip=209.85.128.65 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="fOb3bjl/" Received: by mail-wm1-f65.google.com with SMTP id 5b1f17b1804b1-47eddddcdcfso1580705e9.1 for ; Tue, 13 Jan 2026 03:46:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1768304805; x=1768909605; 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=BTBOAHx8kC/AltJ4R9arhM2oz1nWe3b17NlGYVc9Kto=; b=fOb3bjl/8sAGsWoUtj32ymwhMvvG1bpyEuenxrUvMubUG1ViHCmYaeSA6JdIUSs0P3 BS6NtEI9Hchgs29VFk+N3amcKwwoRyqKkLgwap2x2FmAQYIGXgImawdnBI8kdBiAhCTN 4eIASTOyWYMCb6Jd3JCpDtZ3xFKA7l4nlzgq7AQxt3s7J4t13pfrXV8LbXAmXk6U07Wc y055HsX1j31NGSieh6eHv2y8cH56v67YnPrUYX4yN9EYc+EpyKapOa4r5ni//EMCNro/ 60bMwehR5lz4CkHhRjGycMMAIs7465RFFXkdZUXA8itLfYsxy3nSfgJ2kscUBQCOYTet DPOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768304805; x=1768909605; 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=BTBOAHx8kC/AltJ4R9arhM2oz1nWe3b17NlGYVc9Kto=; b=upzg9jYpfWabJ0Ob5c7jiy/MYNpaDKFyoZBiZYaYAO+2tG8oYW4BGoS11yF1AMV1cW a0wtbTpc3InoLdSt3slfstqUWboggcCl0PhYJi4XgEm5qywtYeIR+wcnLd1Nzjw4GaAO JT9yr1gVKG2pWknmZSJjm6VwYV2E3Jl7RvrgdpqISEjr8YFZ5c3KlKnbM2LGxIOShdC6 I9sW3eoXO+cOHE0O7Pult+k93lf7kTfjhxE3lgt/VCFWc0Ri/Dvzj1Sh+VUO8UkDmXtz cFSSulXF3jTrsbTE/vRgSNX3UZ5du6wY9LCM7y7BDCx+b5t0BBORE+WXUtX7thQuWHzs sofg== X-Gm-Message-State: AOJu0Yxion1ROMEfyFjRF4DTU24o/DpmSdPQsV/6qym6pzScCTy0kv/V Z/FMDMLqB/UJifSkN8vishSFaz/CYpRkmEBgU4++q2ujzDYfUynyVE8/Q4sQqtdwk8hwtA8qoOT 23Vky X-Gm-Gg: AY/fxX5PUK9IprQxLY3nYlaupo1ZKoCCymlXdE50OQcu7SgOXQ+LRfHCiHMZHToGvnh jD9gdJITFdGt3QohUeYyBwt8OWQqLQBpkLeAeS9HRb9EaX3ugERaujLLamocINkTKKsK/fTbwux Z3YT9AmOiP5a4s42Pu5Fi/lgKvdcsknI7gqFFFfEBT39qA51RFQOJS78m6bRm8cCXNOb4JBBfCn pvpom9nvnO4elPfFglmBzPTAfjj2kvIrnDtfrrnSxT8KX+hnJMPeeJ+8TPGW6Dq5bNnEGOZJcnK UU+lYbGO1+dc33OrYzmaY1/KReOfXXqKXEDJXYnjvxoVpTEcUplFCIOYfKKIzeDspleXra7vByS lNeb8OqC4fA9qTWH7grO8W3up2pUvR8/KkL16Kf57i70clRUwKz3ML87QDdYYV1eJvtHp6HjueC +VralUN9UKPq6/xOV7xK0F0tLz X-Google-Smtp-Source: AGHT+IHrIN7h8sV/YRAvc8mKLxh4bW7VACxa553D0Xs9BN+wwOTnKHRzUIKMY9+nEdhfaWK+hmeA5A== X-Received: by 2002:a05:600c:470c:b0:45d:f83b:96aa with SMTP id 5b1f17b1804b1-47d84b0aa1cmr231912065e9.7.1768304804715; Tue, 13 Jan 2026 03:46:44 -0800 (PST) Received: from linux ([2a00:6d43:105:c401:e307:1a37:2e76:ce91]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d7f6953fasm391850225e9.5.2026.01.13.03.46.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 03:46:44 -0800 (PST) From: Marco Crivellari To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Tejun Heo , Lai Jiangshan , Frederic Weisbecker , Sebastian Andrzej Siewior , Marco Crivellari , Michal Hocko , Andrew Morton Subject: [PATCH v2 1/3] mm: Replace use of system_unbound_wq with system_dfl_wq Date: Tue, 13 Jan 2026 12:46:28 +0100 Message-ID: <20260113114630.152942-2-marco.crivellari@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260113114630.152942-1-marco.crivellari@suse.com> References: <20260113114630.152942-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 Reviewed-by: Frederic Weisbecker Reviewed-by: Sebastian Andrzej Siewior --- mm/backing-dev.c | 2 +- mm/kfence/core.c | 6 +++--- mm/memcontrol.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/backing-dev.c b/mm/backing-dev.c index c5740c6d37a2..2f65b5416228 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -939,7 +939,7 @@ void wb_memcg_offline(struct mem_cgroup *memcg) memcg_cgwb_list->next =3D NULL; /* prevent new wb's */ spin_unlock_irq(&cgwb_lock); =20 - queue_work(system_unbound_wq, &cleanup_offline_cgwbs_work); + queue_work(system_dfl_wq, &cleanup_offline_cgwbs_work); } =20 /** diff --git a/mm/kfence/core.c b/mm/kfence/core.c index 577a1699c553..36cc78ede411 100644 --- a/mm/kfence/core.c +++ b/mm/kfence/core.c @@ -878,7 +878,7 @@ static void toggle_allocation_gate(struct work_struct *= work) /* Disable static key and reset timer. */ static_branch_disable(&kfence_allocation_key); #endif - queue_delayed_work(system_unbound_wq, &kfence_timer, + queue_delayed_work(system_dfl_wq, &kfence_timer, msecs_to_jiffies(kfence_sample_interval)); } =20 @@ -928,7 +928,7 @@ static void kfence_init_enable(void) #endif =20 WRITE_ONCE(kfence_enabled, true); - queue_delayed_work(system_unbound_wq, &kfence_timer, 0); + queue_delayed_work(system_dfl_wq, &kfence_timer, 0); =20 pr_info("initialized - using %lu bytes for %d objects at 0x%p-0x%p\n", KF= ENCE_POOL_SIZE, CONFIG_KFENCE_NUM_OBJECTS, (void *)__kfence_pool, @@ -1024,7 +1024,7 @@ static int kfence_enable_late(void) return kfence_init_late(); =20 WRITE_ONCE(kfence_enabled, true); - queue_delayed_work(system_unbound_wq, &kfence_timer, 0); + queue_delayed_work(system_dfl_wq, &kfence_timer, 0); pr_info("re-enabled\n"); return 0; } diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 86f43b7e5f71..6b69b8ee023b 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -644,7 +644,7 @@ static void flush_memcg_stats_dwork(struct work_struct = *w) * in latency-sensitive paths is as cheap as possible. */ __mem_cgroup_flush_stats(root_mem_cgroup, true); - queue_delayed_work(system_unbound_wq, &stats_flush_dwork, FLUSH_TIME); + queue_delayed_work(system_dfl_wq, &stats_flush_dwork, FLUSH_TIME); } =20 unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx) @@ -3872,7 +3872,7 @@ static int mem_cgroup_css_online(struct cgroup_subsys= _state *css) goto offline_kmem; =20 if (unlikely(mem_cgroup_is_root(memcg)) && !mem_cgroup_disabled()) - queue_delayed_work(system_unbound_wq, &stats_flush_dwork, + queue_delayed_work(system_dfl_wq, &stats_flush_dwork, FLUSH_TIME); lru_gen_online_memcg(memcg); =20 --=20 2.52.0