Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 26 Jun 2023 12:03:11 -1000 | From | Tejun Heo <> | Subject | [GIT PULL] workqueue: Ordered workqueue creation cleanups for v6.5 |
| |
The following changes since commit ba0ad6ed89fd5dada3b7b65ef2b08e95d449d4ab:
media: nxp: imx8-isi: fix buiding on 32-bit (2023-05-08 09:10:07 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git/ tags/wq-for-6.5-cleanup-ordered
for you to fetch changes up to 78ef970385ea4d02a44af2776e4f4c74d4fce3d4:
rxrpc: Use alloc_ordered_workqueue() to create ordered workqueues (2023-05-25 12:15:36 -1000)
---------------------------------------------------------------- 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.
---------------------------------------------------------------- Tejun Heo (17): powerpc, workqueue: Use alloc_ordered_workqueue() to create ordered workqueues greybus: Use alloc_ordered_workqueue() to create ordered workqueues net: thunderx: Use alloc_ordered_workqueue() to create ordered workqueues net: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues virt: acrn: Use alloc_ordered_workqueue() to create ordered workqueues xen/pvcalls: Use alloc_ordered_workqueue() to create ordered workqueues wifi: iwlwifi: Use default @max_active for trans_pcie->rba.alloc_wq wifi: mwifiex: Use default @max_active for workqueues wifi: ath10/11/12k: Use alloc_ordered_workqueue() to create ordered workqueues crypto: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues media: coda: Use alloc_ordered_workqueue() to create ordered workqueues scsi: NCR5380: Use default @max_active for hostdata->work_q media: amphion: Use alloc_ordered_workqueue() to create ordered workqueues dm integrity: Use alloc_ordered_workqueue() to create ordered workqueues net: wwan: t7xx: Use alloc_ordered_workqueue() to create ordered workqueues net: qrtr: Use alloc_ordered_workqueue() to create ordered workqueues rxrpc: Use alloc_ordered_workqueue() to create ordered workqueues
arch/powerpc/kernel/tau_6xx.c | 2 +- arch/powerpc/platforms/pseries/dlpar.c | 3 +-- drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c | 12 ++++++------ drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c | 6 +++--- drivers/greybus/connection.c | 4 ++-- drivers/greybus/svc.c | 2 +- drivers/md/dm-integrity.c | 4 ++-- drivers/md/dm.c | 2 +- drivers/media/platform/amphion/vpu_core.c | 2 +- drivers/media/platform/amphion/vpu_v4l2.c | 2 +- drivers/media/platform/chips-media/coda-common.c | 2 +- drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 3 +-- drivers/net/ethernet/marvell/octeontx2/af/rvu.c | 5 ++--- drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 13 +++++-------- drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 5 ++--- drivers/net/wireless/ath/ath10k/qmi.c | 3 +-- drivers/net/wireless/ath/ath11k/qmi.c | 3 +-- drivers/net/wireless/ath/ath12k/qmi.c | 3 +-- drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 2 +- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 4 ++-- drivers/net/wireless/marvell/mwifiex/main.c | 8 ++++---- drivers/net/wwan/t7xx/t7xx_hif_cldma.c | 13 +++++++------ drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c | 5 +++-- drivers/scsi/NCR5380.c | 2 +- drivers/virt/acrn/ioreq.c | 4 ++-- drivers/xen/pvcalls-back.c | 4 ++-- net/qrtr/ns.c | 2 +- net/rxrpc/af_rxrpc.c | 2 +- 28 files changed, 57 insertions(+), 65 deletions(-)
| ![\](/images/icornerr.gif) |