Sent as RFC due to very superficial testing, and confusion wrt. which list/tree to target. Suggest net-next. Last patch is logical first, but must be applied last.
Each DPAA2 software portal (DPIO) is bound to one CPU. The dpaa2-eth and caam qi2 drivers allocate channels and queues for each online CPU. Notifications, and NAPI polling are processed on each DPIO's affine CPU. This balances I/O load nicely across all available CPU cores while keeping data on the hot path. When isolcpus=managed_irq is used to reserve CPUs for latency-sensitive applications, those CPUs are expected to be free of routine device interrupts. However, DPIO interrupts currently continue to arrive on isolated CPUs, interrupting any application running there. This series assigns DPIOs only to CPUs in the HK_TYPE_MANAGED_IRQ housekeeping mask, and changes dpaa2-eth and caam qi2 to set up their per-CPU channels and queue pairs only on those CPUs. Without the driver changes, both would defer probe indefinitely, waiting for a DPIO on an isolated CPU. Isolated CPUs can still transmit frames and enqueue crypto requests; the resulting ingress, Tx confirmation and response processing runs on housekeeping CPUs. Systems without isolcpus=managed_irq are unaffected. Note: This series is submitted in reverse, to ease bisecting. Otherwise caam/dpaa2-eth would defer probe iondefinitely when booted with one or more isolated CPUs. Signed-off-by: Josua Mayer <[email protected]> --- Josua Mayer (3): dpaa2-eth: skip isolated CPUs when allocating channels crypto: caam/qi2 - skip isolated CPUs when setting up queue pairs soc: fsl: dpio: skip isolated CPUs when assigning portals drivers/crypto/caam/caamalg_qi2.c | 26 +++++++++++++++--------- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 10 +++++++-- drivers/soc/fsl/dpio/dpio-driver.c | 7 +++++-- 3 files changed, 29 insertions(+), 14 deletions(-) --- base-commit: 47a1446725732cd3996edf607e8739334bbf4d78 change-id: 20260930-dpaa2-isolcpus-ecb715f2004d Best regards, -- Josua Mayer <[email protected]>
