[PATCH RFC net-next 0/3] dpaa2: avoid scheduling dpio interrupts on isolated CPUs

Josua Mayer josua at solid-run.com
Wed Sep 30 09:54:57 PDT 2026


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 <josua at solid-run.com>
---
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 <josua at solid-run.com>




More information about the linux-arm-kernel mailing list