[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9ba04aef-ba13-4366-8709-ea1808dd4270@intel.com>
Date: Mon, 18 Dec 2023 13:17:53 -0800
From: Jacob Keller <jacob.e.keller@...el.com>
To: Yury Norov <yury.norov@...il.com>, Souradeep Chakrabarti
<schakrabarti@...ux.microsoft.com>, <kys@...rosoft.com>,
<haiyangz@...rosoft.com>, <wei.liu@...nel.org>, <decui@...rosoft.com>,
<davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <longli@...rosoft.com>, <leon@...nel.org>,
<cai.huoqing@...ux.dev>, <ssengar@...ux.microsoft.com>,
<vkuznets@...hat.com>, <tglx@...utronix.de>, <linux-hyperv@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-rdma@...r.kernel.org>
CC: <schakrabarti@...rosoft.com>, <paulros@...rosoft.com>
Subject: Re: [PATCH 3/3] net: mana: add a function to spread IRQs per CPUs
On 12/17/2023 1:32 PM, Yury Norov wrote:
> +static __maybe_unused int irq_setup(unsigned int *irqs, unsigned int len, int node)
> +{
> + const struct cpumask *next, *prev = cpu_none_mask;
> + cpumask_var_t cpus __free(free_cpumask_var);
> + int cpu, weight;
> +
> + if (!alloc_cpumask_var(&cpus, GFP_KERNEL))
> + return -ENOMEM;
> +
> + rcu_read_lock();
> + for_each_numa_hop_mask(next, node) {
> + weight = cpumask_weight_andnot(next, prev);
> + while (weight-- > 0) {
> + cpumask_andnot(cpus, next, prev);
> + for_each_cpu(cpu, cpus) {
> + if (len-- == 0)
> + goto done;
> + irq_set_affinity_and_hint(*irqs++, topology_sibling_cpumask(cpu));
> + cpumask_andnot(cpus, cpus, topology_sibling_cpumask(cpu));
> + }
> + }
> + prev = next;
> + }
> +done:
> + rcu_read_unlock();
> + return 0;
> +}
> +
You're adding a function here but its not called and even marked as
__maybe_unused?
> static int mana_gd_setup_irqs(struct pci_dev *pdev)
> {
> unsigned int max_queues_per_port = num_online_cpus();
Powered by blists - more mailing lists