linux/drivers/net
Linus Torvalds 72dc6db7e3 workqueue: Ordered workqueue creation cleanups
For historical reasons, unbound workqueues with max concurrency limit of 1
 are considered ordered, even though the concurrency limit hasn't been
 system-wide for a long time. This creates ambiguity around whether ordered
 execution is actually required for correctness, which was actually confusing
 for e.g. btrfs (btrfs updates are being routed through the btrfs tree).
 
 There aren't that many users in the tree which use the combination and there
 are pending improvements to unbound workqueue affinity handling which will
 make inadvertent use of ordered workqueue a bigger loss. This pull request
 clarifies the situation for most of them by updating the ones which require
 ordered execution to use alloc_ordered_workqueue().
 
 There are some conversions being routed through subsystem-specific trees and
 likely a few stragglers. Once they're all converted, workqueue can trigger a
 warning on unbound + @max_active==1 usages and eventually drop the implicit
 ordered behavior.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYIACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCZJoKnA4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGc5SAQDOtjML7Cx9AYzbY5+nYc0wTebRRTXGeOu7A3Xy
 j50rVgEAjHgvHLIdmeYmVhCeHOSN4q7Wn5AOwaIqZalOhfLyKQk=
 =hs79
 -----END PGP SIGNATURE-----

Merge tag 'wq-for-6.5-cleanup-ordered' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq

Pull ordered workqueue creation updates from Tejun Heo:
 "For historical reasons, unbound workqueues with max concurrency limit
  of 1 are considered ordered, even though the concurrency limit hasn't
  been system-wide for a long time.

  This creates ambiguity around whether ordered execution is actually
  required for correctness, which was actually confusing for e.g. btrfs
  (btrfs updates are being routed through the btrfs tree).

  There aren't that many users in the tree which use the combination and
  there are pending improvements to unbound workqueue affinity handling
  which will make inadvertent use of ordered workqueue a bigger loss.

  This clarifies the situation for most of them by updating the ones
  which require ordered execution to use alloc_ordered_workqueue().

  There are some conversions being routed through subsystem-specific
  trees and likely a few stragglers. Once they're all converted,
  workqueue can trigger a warning on unbound + @max_active==1 usages and
  eventually drop the implicit ordered behavior"

* tag 'wq-for-6.5-cleanup-ordered' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  rxrpc: Use alloc_ordered_workqueue() to create ordered workqueues
  net: qrtr: Use alloc_ordered_workqueue() to create ordered workqueues
  net: wwan: t7xx: Use alloc_ordered_workqueue() to create ordered workqueues
  dm integrity: Use alloc_ordered_workqueue() to create ordered workqueues
  media: amphion: Use alloc_ordered_workqueue() to create ordered workqueues
  scsi: NCR5380: Use default @max_active for hostdata->work_q
  media: coda: Use alloc_ordered_workqueue() to create ordered workqueues
  crypto: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues
  wifi: ath10/11/12k: Use alloc_ordered_workqueue() to create ordered workqueues
  wifi: mwifiex: Use default @max_active for workqueues
  wifi: iwlwifi: Use default @max_active for trans_pcie->rba.alloc_wq
  xen/pvcalls: Use alloc_ordered_workqueue() to create ordered workqueues
  virt: acrn: Use alloc_ordered_workqueue() to create ordered workqueues
  net: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues
  net: thunderx: Use alloc_ordered_workqueue() to create ordered workqueues
  greybus: Use alloc_ordered_workqueue() to create ordered workqueues
  powerpc, workqueue: Use alloc_ordered_workqueue() to create ordered workqueues
2023-06-27 16:46:06 -07:00
..
appletalk
arcnet
bonding net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-19 22:46:37 -07:00
caif
can can: kvaser_pciefd: Disable interrupts in probe error path 2023-05-17 09:02:40 +02:00
dsa net: dsa: introduce preferred_default_local_cpu_port and use on MT7530 2023-06-20 09:40:26 +01:00
ethernet workqueue: Ordered workqueue creation cleanups 2023-06-27 16:46:06 -07:00
fddi
fjes
hamradio hamradio: drop ISA_DMA_API dependency 2023-04-19 13:11:41 +01:00
hippi
hyperv hv_netvsc: Remove second mapping of send and recv buffers 2023-04-17 19:19:04 +00:00
ieee802154 Merge tag 'ieee802154-for-net-2023-06-19' of git://git.kernel.org/pub/scm/linux/kernel/git/wpan/wpan 2023-06-20 09:32:33 +01:00
ipa net: ipa: Use correct value for IPA_STATUS_SIZE 2023-06-01 13:29:18 +02:00
ipvlan ipvlan: fix bound dev checking for IPv6 l3s mode 2023-06-12 09:34:01 +01:00
mctp
mdio net: mdio: i2c: fix rollball accessors 2023-05-15 10:15:57 +01:00
netdevsim
pcs net: pcs: xpcs: fix C73 AN not getting enabled 2023-05-17 12:59:53 +01:00
phy Revert "net: phy: dp83867: perform soft reset and retain established link" 2023-06-20 20:20:22 -07:00
plip
ppp
pse-pd
slip
team net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-19 22:46:37 -07:00
thunderbolt
usb net: usb: qmi_wwan: add support for Compal RXM-G1 2023-06-08 19:39:31 -07:00
vmxnet3 net: vmxnet3: Fix NULL pointer dereference in vmxnet3_rq_rx_complete() 2023-04-19 09:03:05 +01:00
vxlan
wan net: lapbether: only support ethernet devices 2023-06-15 08:55:22 +01:00
wireguard
wireless workqueue: Ordered workqueue creation cleanups 2023-06-27 16:46:06 -07:00
wwan workqueue: Ordered workqueue creation cleanups 2023-06-27 16:46:06 -07:00
xen-netback
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
Kconfig net: veth: add page_pool stats 2023-04-24 18:07:08 -07:00
LICENSE.SRC
loopback.c
macsec.c net: macsec: fix double free of percpu stats 2023-06-15 11:41:01 +01:00
macvlan.c
macvtap.c
Makefile
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: add vlan_get_protocol_and_depth() helper 2023-05-10 10:25:55 +01:00
tun.c tun: Fix memory leak for detached NAPI queue. 2023-05-17 09:02:55 +01:00
veth.c net: veth: add page_pool stats 2023-04-24 18:07:08 -07:00
virtio_net.c virtio_net: use control_buf for coalesce params 2023-06-06 21:11:17 -07:00
vrf.c
vsockmon.c
xen-netfront.c