From nobody Tue Apr 7 09:20:54 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72CFB375F99 for ; Sun, 15 Mar 2026 17:25:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773595519; cv=none; b=ZM2Gp5UlUQ2I1ZdebHgQX3cw7XQLadUW84cCQ3T7PQgsq11geryitG7us119XGEbaCs8MQnHNmQ2GFM26IdWAW4p16+uyW45Z9uRhoeQErbVE9UE/gR5N4zKOy0pDpH72XxBUnnmr+UQsFZAVo8Y7512vfC5NHUFiUuR8AoaQc8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773595519; c=relaxed/simple; bh=xR1aQtJyjOGsb3F8bKi8GxD9ZWQvMlCBKAMwTQealv0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YNdakRhuLtcEAeEbARP7xP5kscXDle2mqT1AZClif6SGt1sEs32fbO0eNh7iw+shLPQwLjNcwP5XMauWQO10AuLNkaDb+DnXHAe+3tTS3PYceBPwihBBsdsPUutVJFHmLDGRrk6X+W1+g/t47aNUT1ksqlbOCRQfxBpan+PS+24= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DrTq3SzD; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DrTq3SzD" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-482f454be5bso45735515e9.0 for ; Sun, 15 Mar 2026 10:25:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773595516; x=1774200316; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2eNrBLnJJHbmPI7WkNJ6vq9A1HMj64DfR2iaRW7E89k=; b=DrTq3SzDwgDX0a37RPo6o/lql3oPGAHO2S+yv8kxsp3a6YtYN75Qt4fbVaKpwslDg7 XGsRTLLBEDbauK8VtRwI19GKKIXr7AEqg0rH0xGIrvLQlgeoH9An9p4PPWi/+1E+NW2w NEeBbitW+XIQYxmMZXuZVaJHfZpqwlGf5ug5hWJ205vFrXLIj/SzNOTwIbvYE3z7jccj 6X45KrVmz9wR1it9QgWo0tzDreXyPaiTcxwYwyUVNbZvs5VhRLcbXLk22emHCdCv4QeB s96r9tNhj9S0pMTsijrsq6ZvkTAukUjV5L5R6PLDOSCek9THJr/L2hRqJdyhg8CPwrGB 80ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773595516; x=1774200316; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2eNrBLnJJHbmPI7WkNJ6vq9A1HMj64DfR2iaRW7E89k=; b=a4tp7hbIVerDRFNTc4Iz8YK2heg3gAoL+E7K+Z90BpIOKQg3eCV4w29uIh5rVnw4G8 AloaMDx7HmGA7L9+/mb4asZE96zQwh6nqviVGh2+IEC6iRvt30oY/nE1xe2ctiQq/Q6k mIHnDY8pR8DMZWbxF6m6yR4Q0Fhc8AQs+Olw/b99PBUv6cFTY9XGEBBMo0GfF4tQZjTO fUDEXqPQdEBZBuEE4gFcgDebZEH/HNw2l2+FwP+Jj7myU96BWdZpWGIKcFMbg6LAq6HA 8PDKGTb7t5DRvxdUWy6ITRd0aI33+n4pXEFaMgbXfHHhI98cv96TpofhF6SJL8CWLysD npwQ== X-Forwarded-Encrypted: i=1; AJvYcCU050ME6HzG/R9YKKmohHcGuq/Ac+azxLm+jM9jmd5f48fbNc9wi0YYB7WOuAUnsCJoGmClNSxV4hP/uxA=@vger.kernel.org X-Gm-Message-State: AOJu0Ywrbsi8ieDi2TVLYcFAtMqgG5kgl8UtKfgtF2tRh4oxRMllNusV 7+KByeAjquMQiBDejvJUrVNeYLgtP0WwLKRx5ZjloulfpAwsrMxjMiJX X-Gm-Gg: ATEYQzyLDajgM3FVAMH6ljmRhV+ITXK4aLcvuuUvM0c7G9VeJAww8dUduLT/VP/k7cS gwwP3Bt5w+rdywwDItYJB/g2BdjgDfi7Lst8Ki97oaFOBgqcPmLiMKrnQFBvZPxJyydHrhbWG2c bThVekyACBSvbNsLcbtMF1d99dMzvbrGCHufBKURGLluSF1F7kFy3E1rPkTAjWx3ALlaFInfWI+ 5uSSqcdkKGSOmVOEf/AYdHmpN5/CMuoFWII5SguGMxXwO3MX4vGyI04dfJz5mJTBUtrFLrSinF/ 7aLbTyNNesYU7uicpvxM6Dk5YTTsc2toQpds6MX653FN5f6347jSo+MZ9PcPhEhbcTC/6Hiyaib AR3+Vzp/1dFR3bYkWZUG43BCG2di9YjAuypxs51yL1YZUqHi0Wn3OgF5n/TYigSsycrRfPl2MhB wWj1z9WiyZE4l2FFZYAljW0D7daujpkvpMv+Y= X-Received: by 2002:a05:600c:8b28:b0:485:3c11:de84 with SMTP id 5b1f17b1804b1-48555b47ac7mr165571005e9.14.1773595515543; Sun, 15 Mar 2026 10:25:15 -0700 (PDT) Received: from debian.lan ([171.22.84.130]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48541aa73easm457168325e9.3.2026.03.15.10.25.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Mar 2026 10:25:15 -0700 (PDT) From: =?UTF-8?q?Adri=C3=A1n=20Garc=C3=ADa=20Casado?= To: Ulf Hansson , Adrian Hunter , Andreas Hindborg , Jens Axboe , Miri Korenblit Cc: Miguel Ojeda , Haibo Chen , Frank Li , Sascha Hauer , Boqun Feng , linux-mmc@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-block@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Adri=C3=A1n=20Garc=C3=ADa=20Casado?= , Adrian Garcia Cicuelo Subject: [PATCH v2 1/3] wifi: iwlwifi: pcie: optimize MSI-X interrupt affinity Date: Sun, 15 Mar 2026 18:25:05 +0100 Message-ID: <20260315172507.270480-2-adriangarciacasado42@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260315172507.270480-1-adriangarciacasado42@gmail.com> References: <20260315172507.270480-1-adriangarciacasado42@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Implement a balanced RSS queue distribution by skipping CPU0 for high-rate MSI-X interrupts when multiple CPUs are online. This reduces contention with system housekeeping tasks on the boot core and improves overall throughput. Signed-off-by: Adrian Garcia Cicuelo --- drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c b/drive= rs/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c index 4560d92d7..87149f29e 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c @@ -1683,7 +1683,17 @@ static void iwl_pcie_irq_set_affinity(struct iwl_tra= ns *trans, * Get the cpu prior to the place to search * (i.e. return will be > i - 1). */ + /* + * Balanced distribution: skip CPU0 for high-rate RSS queues + * to avoid contention with system housekeeping. + */ cpu =3D cpumask_next(i - offset, cpu_online_mask); + if (cpu >=3D nr_cpu_ids) + cpu =3D cpumask_first(cpu_online_mask); + + if (cpu =3D=3D 0 && num_online_cpus() > 1) + cpu =3D cpumask_next(0, cpu_online_mask); + cpumask_set_cpu(cpu, &trans_pcie->affinity_mask[i]); ret =3D irq_set_affinity_hint(trans_pcie->msix_entries[i].vector, &trans_pcie->affinity_mask[i]); --=20 2.47.3