From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 E2EEF3F99EA for ; Thu, 28 May 2026 16:02:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779984136; cv=none; b=BGeYUZudBCu1bImMkLYZhS4ibjdO8lfD/sVwEvhK3dwKjk/1poIdrlOjQECeXLxIM404LiSfMQOA7bD7+TkSFT3IEgqjZ8gmUZEXpNKUciV/Lyr1tH421b5+/ELxQweGH4EKBv7Mkx6kMaZx/B1JLVXkvbGg7hqrC+rFdhFFj7o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779984136; c=relaxed/simple; bh=QlumIQtDCaGw64GZ2cLLkZkBS+V+6McaY0hnVEFgl1Y=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=bdb9ncd8IebZaCDOo7UeZ4xe9nkEbh1SczA15bt6ovMO9Z9Cz0hGWjPPVXKhwv6SwwktVg1OdB4gZR4wFGLr+gnUnRStWUHH7vdQHlR5VbEuhCQvp+dK7/9n76g6PrfwLO82rMJ83tSNb7D9wKoD/tzstZWRj4vuRzoDv1rJCBk= 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=B/pxCitD; arc=none smtp.client-ip=209.85.128.49 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="B/pxCitD" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4906869f0cbso49434835e9.1 for ; Thu, 28 May 2026 09:02:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1779984133; x=1780588933; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=PaAVVLmSEj4FRjS9a56UxMPXvIF3lclRcK02x2W8xOk=; b=B/pxCitDHpihi+UfnnnEKj7SinJrrBXkrDVaWwwIksfMOijhjyILK0sqtVokiYq8rc cv1xUiI2EgjZV1kdhnib40ezh43Rkzs/H30ZRcOMfDYJYh52kxFqIw3m+BWoov4EeJAR nHhpIWwALXM53zOCekmdFyjLs0KBUQ1FbzVP0R55LRCP0vaFJjdHpDsEh1p/utIauY/L fjkZoGrSxewemFfn2t32L++hbnYlUd470QDIHdvoMdFDGMOaxfZYA/apfXGMG2PeKqeW mcFXdoBjE8+ouEo/gpyUrdh/uVhSD8OcqcIaPeiSWyo3EiQzinJt2Y+/P8fYENoVppyB rDXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779984133; x=1780588933; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=PaAVVLmSEj4FRjS9a56UxMPXvIF3lclRcK02x2W8xOk=; b=LyB95kTz5uvuha+KM1cZ1IZiqznuJHBtpNhavsbfhBM03sL4M5deGsRDtu6yqi7tJp WjcpEUvkbIT8hlSp++FjBE/eql4SJeQileMvnk/yFfjda6+fmLWU4gkZD6OccXXnSlG7 fga0ywTo1+KdYqrkoT3AbXCu5vIhZCc4Nwa/MozEVYw79bXSnSJ7Hnn2RFIiwFCZGmHc CvXRsJWW2h+Gl6J0pgDNsq5GA09PigcdJLLZRrwoOYR4DUOmoonF0FhtTQzoq33i5FHt q4bovyI0LokUZhz+EZyQQztcAFBDuy/cWFJVsFrpwtsq+lJr1pxlYBbNQjGfhYGvZSBw 7T5w== X-Gm-Message-State: AOJu0Ywh7QrjIqlCFQvCmfRvP3JNjUx4H9wom97kIe1kA1pO9ggmlYvr lDgQ0jQ434hM3dpTAntgCWjBdDsOeo3eMO8gP25D7zDjhaalISGce5urmHlXMBP+l+gmkkd35hh 6iwYLgew= X-Gm-Gg: Acq92OEtfdaF4KxvismhLUxOwPWapIrOtFdZCxgCDkgQWJl4Xbx7eg2uS2jjXlchmuJ XJMkf9x9MdvenS5DpENPG6C9RVKnxEZKO4uDOgCKanY9PcSJH4n9mTq4QP9dWzzw+/Fiv5RJ3mk w9Pd1nH7qNJWhcBaWFfrn6Ly/3Ls3aAaICd8k8UVWUV3B0lEj4dzdxXbL/g3mJtSnzLNnzHbEPu beLWXZESVh7rHHl/OX4hGT93U1CghX+BXeyEirc0uiSmCnfaC4LI1kK+XoV4jXWswpOe9JUv6XM 3TJHRjegno0qlrhCwz5WqbQq34wP86QYIbCBNb7zKSb0mGINNCzmjs6viKT+OkKGdTe5/jQZCwx QJ98Lyqf4yggDK69qnnP8Qtokm9As6dliqHaZcBSoweW84RpgleH1s6niI/BwMsO9Mt0sC70jY6 vdDU6zNKziTmGyWT1YPK4re9P0C0vRbyAlU+WXA8+nMuQ+xUnT+pWRMTyutpX31ROURs0J X-Received: by 2002:a05:600c:3e16:b0:490:688b:f10d with SMTP id 5b1f17b1804b1-490688bf142mr257610255e9.7.1779984133249; Thu, 28 May 2026 09:02:13 -0700 (PDT) Received: from localhost.localdomain ([2a00:6d43:105:c401:e307:1a37:2e76:ce91]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4909235d4e5sm67856075e9.2.2026.05.28.09.02.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 May 2026 09:02:12 -0700 (PDT) From: Marco Crivellari To: linux-kernel@vger.kernel.org Cc: Tejun Heo , Lai Jiangshan , Frederic Weisbecker , Sebastian Andrzej Siewior , Marco Crivellari , Michal Hocko , Breno Leitao Subject: [PATCH v3 0/2] workqueue: Add warnings and check WQ flags usage Date: Thu, 28 May 2026 18:01:57 +0200 Message-ID: <20260528160159.471265-1-marco.crivellari@suse.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hi, Currently system_wq and system_unbound_wq can still be used and no message is printed. To avoid further use of them, add a warning. The detection of deprecated workqueue is done using a new internal flag, called __WQ_DEPRECATED. Similar scenario for WQ_PERCPU and WQ_UNBOUND. Currently there are still users that use alloc_workqueue(,0,). To avoid such situations, a couple of checks have been added: - if neither of the flag is present, set WQ_PERCPU - if both are present, remove WQ_PERCPU Along with these, a warning will be printed. Thanks! Marco Crivellari (2): workqueue: Add warnings and fallback if system_{unbound}_wq is used workqueue: Add warnings and ensure one among WQ_PERCPU or WQ_UNBOUND is present include/linux/workqueue.h | 1 + kernel/workqueue.c | 31 ++++++++++++++++++++++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) --- Changes in v3: - system_wq / system_unbond_wq not routed to the newer. The warnings have been simpliified keeping only one of them inside __queue_work() printing the work function. - the deprecated status is detected using a new internal flag, called __WQ_DEPRECATED. Link to v2: https://lore.kernel.org/all/20260526150041.365392-1-marco.crivellari@suse.com/ Changes in v2: - rebased on v7.1-rc5 - fixed typo in the text - cleared WQ_PERCPU when wq_pwer_efficient flag is set, to avoid triggering a warning - if statement to route old workqueue to newer also added in queue_rcu_work() Link to v1: https://lore.kernel.org/all/20260514092354.125149-1-marco.crivellari@suse.com/ -- 2.54.0