linux/drivers
Marco Crivellari b72fbdc080 Input: psmouse-smbus - add WQ_UNBOUND to alloc_workqueue user
Currently if a user enqueue a work item using schedule_delayed_work() the
used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
schedule_work() that is using system_wq and queue_work(), that makes use
again of WORK_CPU_UNBOUND.
This lack of consistentcy cannot be addressed without refactoring the API.

alloc_workqueue() treats all queues as per-CPU by default, while unbound
workqueues must opt-in via WQ_UNBOUND.

This default is suboptimal: most workloads benefit from unbound queues,
allowing the scheduler to place worker threads where they’re needed and
reducing noise when CPUs are isolated.

This patch continues the effort to refactor worqueue APIs, which has begun
with the change introducing new workqueues and a new alloc_workqueue flag:

commit 128ea9f6cc ("workqueue: Add system_percpu_wq and system_dfl_wq")
commit 930c2ea566 ("workqueue: Add new WQ_PERCPU flag")

This specific workload do not benefit from a per-cpu workqueue, so use
WQ_UNBOUND on the custom workqueue instead.

With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND),
any alloc_workqueue() caller that doesn’t explicitly specify WQ_UNBOUND
must now use WQ_PERCPU.

Once migration is complete, WQ_UNBOUND can be removed and unbound will
become the implicit default.

Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
Link: https://patch.msgid.link/20251106141955.218911-5-marco.crivellari@suse.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2025-12-18 20:53:31 -08:00
..
accel
accessibility
acpi One more urgent ACPI support fix for 6.18 2025-11-27 17:25:46 -08:00
amba
android
ata ata: libata-core: Set capacity to zero for a security locked drive 2025-11-20 13:37:18 +01:00
atm atm/fore200e: Fix possible data race in fore200e_open() 2025-11-25 12:39:26 +01:00
auxdisplay
base PM: sleep: core: Fix runtime PM enabling in device_resume_early() 2025-11-18 15:47:55 +01:00
bcma
block
bluetooth Bluetooth: btusb: mediatek: Avoid btusb_mtk_claim_iso_intf() NULL deref 2025-11-20 17:01:44 -05:00
bus
cache
cdrom
cdx
char
clk
clocksource
comedi
connector
counter
cpufreq cpufreq: intel_pstate: Check IDA only before MSR_IA32_PERF_CTL writes 2025-11-12 17:59:37 +01:00
cpuidle RISC-V updates for v6.18-rc5 2025-11-06 15:44:18 -08:00
crypto
cxl cxl: Adjust offset calculation for poison injection 2025-11-07 09:22:10 -07:00
dax
dca
devfreq
dibs
dio
dma
dma-buf
dpll
edac EDAC/altera: Use INTTEST register for Ethernet and USB SBE injection 2025-11-11 14:59:04 +01:00
eisa
extcon
firewire firewire: core: fix to update generation field in topology map 2025-11-16 21:30:26 +09:00
firmware
fpga
fsi
fwctl
gnss
gpio gpio: cdev: make sure the cdev fd is still active before emitting events 2025-11-19 12:00:28 +01:00
gpu Driver Changes: 2025-11-28 12:10:25 +10:00
greybus
hid Input updates for v6.18-rc6 2025-11-22 09:58:41 -08:00
hsi
hte
hv
hwmon hwmon: (gpd-fan) initialize EC on driver load for Win 4 2025-11-12 11:54:37 -08:00
hwspinlock
hwtracing
i2c
i3c
idle
iio iio: accel: bmc150: Fix irq assumption regression 2025-11-11 20:22:23 +00:00
infiniband mlx5: Fix default values in create CQ 2025-11-11 15:12:18 +01:00
input Input: psmouse-smbus - add WQ_UNBOUND to alloc_workqueue user 2025-12-18 20:53:31 -08:00
interconnect
iommu dma-mapping fixes for Linux 6.18 2025-11-27 17:29:15 -08:00
ipack
irqchip irqchip/riscv-intc: Add missing free() callback in riscv_intc_domain_ops 2025-11-14 16:52:34 +01:00
isdn
leds
macintosh
mailbox mailbox: th1520: fix clock imbalance on probe failure 2025-11-28 09:47:44 -06:00
mcb
md dm-verity: fix unreliable memory allocation 2025-11-21 12:51:41 +01:00
media
memory
memstick
message
mfd Immutable branch between MFD, Input, Power and Regulator due for the v6.19 merge window 2025-12-13 01:20:17 -08:00
misc
mmc mmc: sdhci-of-dwcmshc: Promote the th1520 reset handling to ip level 2025-11-25 13:44:51 +01:00
most most: usb: fix double free on late probe failure 2025-11-09 11:15:20 +09:00
mtd
mux
net net: fec: do not register PPS event for PEROUT 2025-11-27 11:57:45 +01:00
nfc
ntb
nubus
nvdimm
nvme nvme: nvme-fc: Ensure ->ioerr_work is cancelled in nvme_fc_delete_ctrl() 2025-11-17 09:00:42 -08:00
nvmem nvmem: layouts: fix nvmem_layout_bus_uevent 2025-11-24 18:08:10 +01:00
of
opp
parisc
parport
pci pci-v6.18-fixes-5 2025-11-14 15:45:31 -08:00
pcmcia
peci
perf tools: riscv: Fixed misalignment of CSR related definitions 2025-11-16 10:37:38 -07:00
phy
pinctrl pinctrl: s32cc: initialize gpio_pin_config::list after kmalloc() 2025-11-18 23:56:11 +01:00
platform platform-drivers-x86 for v6.18-5 2025-11-27 08:51:36 -08:00
pmdomain pmdomain: tegra: Add GENPD_FLAG_NO_STAY_ON flag 2025-11-24 11:14:01 +01:00
pnp
power Immutable branch between MFD, Input, Power and Regulator due for the v6.19 merge window 2025-12-13 01:20:17 -08:00
powercap
pps
ps3
ptp
pwm pwm: adp5585: Correct mismatched pwm chip info 2025-11-14 11:55:56 +01:00
rapidio
ras
regulator Immutable branch between MFD, Input, Power and Regulator due for the v6.19 merge window 2025-12-13 01:20:17 -08:00
remoteproc
reset
rpmsg
rtc rtc: rx8025: fix incorrect register reference 2025-11-08 20:56:12 +01:00
s390 s390/ctcm: Fix double-kfree 2025-11-17 16:58:25 -08:00
sbus
scsi scsi: sg: Do not sleep in atomic context 2025-11-19 22:46:36 -05:00
sh
siox
slimbus slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves 2025-11-09 11:14:59 +09:00
soc
soundwire
spi spi: nxp-fspi: Propagate fwnode in ACPI case as well 2025-11-27 11:41:06 +00:00
spmi
ssb
staging
target scsi: target: tcm_loop: Fix segfault in tcm_loop_tpg_address_show() 2025-11-08 12:30:02 -05:00
tc
tee QCOMTEE fixes2 for v6.18 2025-11-21 21:27:20 +01:00
thermal
thunderbolt
tty serial: 8250: Fix 8250_rsa symbol loop 2025-11-26 13:16:53 +01:00
ufs
uio
usb usb: gadget: renesas_usbf: Handle devm_pm_runtime_enable() errors 2025-11-24 18:00:45 +01:00
vdpa mlx5: Fix default values in create CQ 2025-11-11 15:12:18 +01:00
vfio
vhost vhost: rewind next_avail_head while discarding descriptors 2025-11-26 14:44:58 -08:00
video drm, fbcon, vga_switcheroo: Avoid race condition in fbcon setup 2025-11-25 09:08:32 +01:00
virt
virtio
w1
watchdog
xen
zorro
Kconfig
Makefile