Re: [PATCH RFC net-next 2/3] crypto: caam/qi2 - skip isolated CPUs when setting up queue pairs

From: Ioana Ciornei

Date: Tue Oct 06 2026 - 04:28:36 EST


On Wed, Sep 30, 2026 at 06:54:59PM +0200, Josua Mayer wrote:
> The driver looks up the affine DPIO and sets up one Rx/Tx queue pair for
> each online CPU, up to the number of queues. Response notifications and
> NAPI polling are handled on the DPIO object's assigned CPU. All online
> may enqueue requests.
>
> When isolcpus=managed_irq is used to reserve CPUs for latency-sensitive
> applications, those CPUs are expected to be free of routine device
> interrupts.
>
> The DPIO driver assigns affine CPUs only from the HK_TYPE_MANAGED_IRQ
> housekeeping mask, leaving isolated CPUs without an affine DPIO. This
> defers caam qi2 probe indefinitely once DPIO setup reaches an isolated
> CPU.
>
> Restrict queue pairs, notifications and NAPI polling to the online CPUs
> in the HK_TYPE_MANAGED_IRQ housekeeping mask, so that isolated CPUs are
> skipped and don't defer probe. Isolated CPUs may still enqueue requests,
> with responses handled on housekeeping CPUs.


Don't you need to also change the for_each_online_cpu() from
dpaa2_dpseci_setup() to take into account only the housekeeping
managed_irq cores?


Something like:

--- a/drivers/crypto/caam/caamalg_qi2.c
+++ b/drivers/crypto/caam/caamalg_qi2.c
@@ -5101,7 +5101,7 @@ static int __cold dpaa2_dpseci_setup(struct fsl_mc_device *ls_dev)
}

i = 0;
- for_each_online_cpu(cpu) {
+ for_each_cpu_and(cpu, cpu_online_mask, hk_mask) {
u8 j;

j = i % priv->num_pairs;


Ioana