From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 2ACB1350A10 for ; Tue, 7 Jul 2026 14:53:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783436032; cv=none; b=QuMHEIGk+4gyKkQ/JirrWZnvucHimvjZ34gNukB/gNawT3oB5kn6YfgH16z8KxyqeeLo2p9HDnBDijMSYzPXHS4VMViKODkRGCHfACO4LnpWY5sXgfRbXOCmQCZSXzyRWff1ddHkXoD1xBY3fZRQ5gEpJMSYZEKqBuBbXlaEJek= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783436032; c=relaxed/simple; bh=lld4jGgxU4Hlbg9rvCRAmSf1xq4K+TvfNOTHD6OlPNA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=vE+/kn9/7vKHeDPJ1pv79uTE9pk6pMMP0hRtp4jVxSuiOfxDNqTZkOmDmT+SFSne2E73vAQC9ME18fp9GTol4Y1VzRzRscWvH517wEBCzpwO2wueZ6QOXo9/q6Cliyeaug9G8qGJSCXYmE26vjWkFHyjsynY5V9+GPbmyGRIYlw= 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=Ikd7nIbL; arc=none smtp.client-ip=209.85.128.50 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="Ikd7nIbL" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4921eed3fa2so30006395e9.0 for ; Tue, 07 Jul 2026 07:53:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1783436028; x=1784040828; 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=RiCOHMt+5LAxuaUpE48p7KSrrHt8xlEb8cavqElM1eA=; b=Ikd7nIbLtmdRHD6wmHJOWAe5ngNtIC8zK9lnP5dWlWufc1KfkO1SsrICk99EQmv3yL Mu943KDFlfTwbF0r436ybmvnmhygOpmf37ms4MK0GLbn66GQlqsni1NsmD6UKoSZ3WSh qd1QZHZebI9nJzpALOaOfRL8zFv/D+YTOiKUaiNF/IjFHsZdJmj/H2Sf02T9iZjislmB eiVjPgpjCvHiQH8NRgpKScoSGA3cdmsH54h8YT609+AlwWQbTxywWRc6C1UocjNJ5wxe 0zDr1kird7OaGQTrojdsQ9yNJKrVEJmzjQKxxJDXRCzMQGx/ac7D/8LeowkAQIInHUk4 vnAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783436028; x=1784040828; 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=RiCOHMt+5LAxuaUpE48p7KSrrHt8xlEb8cavqElM1eA=; b=Fy58af2NLBZyU2nKfyJti/6qS4voC7cfsB5XuM8oPzNvUBCVzD9C6ZjZadFs+fRNAJ unNt06OygExtw0qpT9jm1x0CNqnkiXUshj6PTx6FgHYRR/oCp1nuaA05kUforPXsLaad HXkxZggA7ZxByT4GYJrjXvmdD+msyqqDC87vEymlZKECNHSfuW9uTknehcaowSr5DN2a 5k5lLD5Zh2B36lsQkxSbfcz/aAmq+bq4mW35XXiwEphn9YT5kX+Ydy7HJLVQV4Dd8EoH E8qofxC6rSE6NRIXUFNwb2I4YjU4bs42fxaPC4na7O9ObdP/NYSRtbyhRlMFeVX0IGZo SZZA== X-Gm-Message-State: AOJu0YyyQpkzrVJrAGCzKrE/IGzQiutBi/rFcpzE5vnAoXoIgul7U1Xt pSvzs5smTsyMwUrZSIrrwAtKhtul5cRrvgRu6awwgs1YreLb+JQKx/ETLq4Se9U4evEmZXnRVmF VprZQjp4= X-Gm-Gg: AfdE7cnG/ailp1LIqBr8U9m6ah4VSnxp8KvxL+iLUgH3EBeF6Hzo99jO0i4UzBt5ek7 gXqw49MhQVDXI4I8fiKGgO8WlndyIGHdTEx/Pnyq0Jrp3/V6hGYzo5/BGtbOkM/ViXmZeFYMpah Pb3223a2IWNXDgPau5+2YWplH1gL4I4A6t0oyL1wTEzzzQeRQGllgs9lq+ogIpDuM0p1bJhubwY cnUTZVF1oGdAYAr6pHMVgazjq2wJCNEYUivJeU95f8Pa1CuuDoVrPSs8Jx79EiEGmAEMJ+lhLVi NdaFSHtJETdGOCoJJa5j81AvYx1dHPNFBLpkPgzZpcgFT2SrzdFKReJ+Iwywhl2tMfmj3Wswb41 BO+ZgJQ7hmYm9xWg8LwBylrtbAlHLHG0a7SP5PHDZ0agmVZo36s48H/JnF5KpEaDY8C7HsgTtXN +MqnBFR5Ed4cF0mJ27CK0KNEttgfxU6h12+b4= X-Received: by 2002:a05:600c:4e8e:b0:493:c194:4e7a with SMTP id 5b1f17b1804b1-493df0377e0mr57163165e9.3.1783436028465; Tue, 07 Jul 2026 07:53:48 -0700 (PDT) Received: from localhost.localdomain ([2a00:6d43:105:c401:e307:1a37:2e76:ce91]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493e10af550sm60425025e9.1.2026.07.07.07.53.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 07:53:48 -0700 (PDT) From: Marco Crivellari To: linux-kernel@vger.kernel.org, linux-input@vger.kernel.org Cc: Tejun Heo , Lai Jiangshan , Frederic Weisbecker , Sebastian Andrzej Siewior , Marco Crivellari , Michal Hocko , Jiri Kosina , Benjamin Tissoires , "Derek J. Clark" Subject: [PATCH RFC 1/2] HID: hid-oxp: Replace system_wq with system_dfl_wq Date: Tue, 7 Jul 2026 16:53:02 +0200 Message-ID: <20260707145327.313292-2-marco.crivellari@suse.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260707145327.313292-1-marco.crivellari@suse.com> References: <20260707145327.313292-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: 8bit The function end up calling __queue_delayed_work(), which set a global timer that could fire anywhere, enqueuing the work where the timer fired. Unbound works could benefit from scheduler task placement, to optimize performance and power consumption. Since the workqueue work doesn't rely on per-cpu variables, there is no obvious reason that justify the use of a per-cpu workqueue. So change the workqueue with the new unbound version, system_dfl_wq. Cc: Derek J. Clark Signed-off-by: Marco Crivellari --- drivers/hid/hid-oxp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hid/hid-oxp.c b/drivers/hid/hid-oxp.c index 20a54f337220..d2ded6b08ce9 100644 --- a/drivers/hid/hid-oxp.c +++ b/drivers/hid/hid-oxp.c @@ -398,7 +398,7 @@ static int oxp_hid_raw_event_gen_2(struct hid_device *hdev, * Re-apply our settings after this has been received. */ if (data[3] == OXP_EFFECT_MONO_TRUE) { - mod_delayed_work(system_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50)); + mod_delayed_work(system_dfl_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50)); return 0; } @@ -788,7 +788,7 @@ static ssize_t map_button_store(struct device *dev, default: return -EINVAL; } - mod_delayed_work(system_wq, &drvdata.oxp_btn_queue, msecs_to_jiffies(50)); + mod_delayed_work(system_dfl_wq, &drvdata.oxp_btn_queue, msecs_to_jiffies(50)); return count; } @@ -1349,7 +1349,7 @@ static void oxp_rgb_brightness_set(struct led_classdev *led_cdev, enum led_brightness brightness) { led_cdev->brightness = brightness; - mod_delayed_work(system_wq, &drvdata.oxp_rgb_queue, msecs_to_jiffies(50)); + mod_delayed_work(system_dfl_wq, &drvdata.oxp_rgb_queue, msecs_to_jiffies(50)); } static struct attribute *oxp_rgb_attrs[] = { @@ -1502,7 +1502,7 @@ static int oxp_cfg_probe(struct hid_device *hdev, u16 up) drvdata.rumble_intensity = 5; INIT_DELAYED_WORK(&drvdata.oxp_mcu_init, oxp_mcu_init_fn); - mod_delayed_work(system_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50)); + mod_delayed_work(system_dfl_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50)); ret = devm_device_add_group(&hdev->dev, &oxp_cfg_attrs_group); if (ret) -- 2.54.0