From nobody Tue Apr 7 08:52:53 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 2A66C375F63 for ; Sun, 15 Mar 2026 17:17:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773595025; cv=none; b=Gp1XgUhnRUQDY3wtq3D//3mYlXU2pGoQlMB2mccUZMtppYGNHnWtR7UFux7JCvpICNCKUk7WpbSL77MpGweZTGHmOX/Cfj2jcZbPCNLV8EOsBNX4tiCYFUmiAqBc3h9BXFlIoDPNaYP3rxnzsd5kDsD9f3sS5hOOlK9mIAq1N0s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773595025; c=relaxed/simple; bh=xR1aQtJyjOGsb3F8bKi8GxD9ZWQvMlCBKAMwTQealv0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jIIppemsr0YoF+akEeZzsNrHWPsenBG2FTQ58/saxUVr777knU0YZF0FLBbsPjxmJRoyOJqPjQTScpcjGDoQVBz/Q4T36m0bTVjzVWr+Pq2iSmsggFJ0QbJrcphzcaOQB7X6gWqOVCjO2qZlftKnDUUXk9VLTLqhvAYHAtDAUW0= 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=LGDd2s0M; arc=none smtp.client-ip=209.85.221.44 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="LGDd2s0M" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-439b7c2788dso2349776f8f.1 for ; Sun, 15 Mar 2026 10:17:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773595022; x=1774199822; 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=LGDd2s0MRWWVzXiLUlhscGY31hZPYrH4KObYvbpf2p9Ur+gOzA6ep5+r+WLKV8QH9/ +/4S8qNW/piz9OVtsNFhHEK+QQNbGl7USWoD43ej62kuooI1hxOWuwzxxVphv4bNfxHQ lXO4IOJsrITQRmID1rAQyjekPiuqPqSvwc5T4DDj6fRl9Xtzu1hn1XkIPKQ+mg0l1olG beUUL3G+Tx4LMx1AcTr9YqTznBOAY1nZOpvJ4bwqjGLTvaS4eftDMgtwuDsQsNNh5R5s iMDqrGuK+zeWy65nDQLF/OuD9rYse0Giq148n9HjONRPABWI8T8LuwY+JGv5+WGrL3Zr RUCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773595022; x=1774199822; 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=gFnRUvd1SWJXUsFsYUphmnWQdlH12d4VEvaqPpvhADPjupfQt7fxVCgVg0yidWW1+a XqvZ26kYKZ3Y5kXIkUeNjraZJYxgNj0hBEPUAMPY07ez2rmuoCW6Ui4Tt8bnhNboGKav tyUd4XN37qlV7HlCOwZSr+wkunocd8nWRm8EBjVx8FRiyFgyfqRZArHJLXQxrPQrvVXb R0y5VN6KAyUHjbzYGbump4aKgjDxEcEluMyYcem4t9zKWpBbWKUNKOgGtAdpEooQeVBj 1HV/FbeujZhKzFp0u4SFDW9eZeh9wHlZJRqSe9Na1NZ2wBWGvgR/oZCFJI5DJILNgq/q oYdw== X-Forwarded-Encrypted: i=1; AJvYcCVHu+SlYvb2efR10IQh8c1v80KkLmxUGM+xEg30bdhQLUXNPhpgFNtvtCOfFzAzoBO/DwU5m716tMVVR5g=@vger.kernel.org X-Gm-Message-State: AOJu0YwwuwnzU76jp2BE2qkGoQOgzvNqichO4rA+HzchtpOK4OvJlya1 4Yg4TJ6JYcIN1t6hC/NL39YLAXWbd+DBBfaU3Ofwm6HHNUQoo5tDzVNq X-Gm-Gg: ATEYQzxzLAJNpWcughAP4g9T50fkt2tZXKLdP2LFxDLI6nmCHiptAFfrllkBabZpFoe 3UScV1F707d4dG02OhfYRfHYYBQ9Wa0E8EK+lo3/A+P6gktWViyfzpB25cAe8l4n5LUlUoVQvI3 AWo083qta1epcMqtcTSZrEqND+7EwxceEu8+WwCr//mSV6IYDHSYtnPCpJ8HMKDuGQZNRG/zzKl ggRiAxvGjXk/VJG1CxMSZHFz8M9B9a82dFeMOsqQjgFhZKw4T+WW72BLHO+8o/Em/f6UjIkM8gl 2KY0OaMGjAj+Vb5hrJTFY3rxYAZHQe+KyPzI20UW6uZootPDXq4ZXiq/sLKJcPzLBKX5zOyhASn 5jOzO2ffal3X4jwTTrvjF6XBK+oo6tDTbhuzrwJPNJ5C8Rr7bUuHLRcEhKMhy/xuaGwM75TWPjm vhcr193Ei7EWKj8fUqdwavBioZ5lx7UP3ogQ== X-Received: by 2002:a5d:5849:0:b0:439:af0e:57a8 with SMTP id ffacd0b85a97d-43a04db7edfmr19896954f8f.33.1773595022342; Sun, 15 Mar 2026 10:17:02 -0700 (PDT) Received: from debian.lan ([171.22.84.130]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe21b631sm40536429f8f.27.2026.03.15.10.17.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Mar 2026 10:17:01 -0700 (PDT) From: Adrian Garcia Cicuelo X-Google-Original-From: Adrian Garcia Cicuelo 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, Adrian Garcia Cicuelo Subject: [PATCH v2 3/3] wifi: iwlwifi: pcie: optimize MSI-X interrupt affinity Date: Sun, 15 Mar 2026 18:16:52 +0100 Message-ID: <20260315171652.269020-4-adriangarciacicuelo@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260315171652.269020-1-adriangarciacicuelo@gmail.com> References: <20260315171652.269020-1-adriangarciacicuelo@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