Re: [EXTERNAL] [PATCH 3/3] net: mana: add a function to spread IRQs per CPUs

2023-12-19 Thread Yury Norov
.org; net...@vger.kernel.org; > >linux- > >ker...@vger.kernel.org; linux-r...@vger.kernel.org > >Cc: Souradeep Chakrabarti ; Paul Rosswurm > > > >Subject: [EXTERNAL] [PATCH 3/3] net: mana: add a function to spread IRQs per > >CPUs > > > >[Some people who

RE: [EXTERNAL] [PATCH 3/3] net: mana: add a function to spread IRQs per CPUs

2023-12-19 Thread Souradeep Chakrabarti
Rosswurm > >Subject: [EXTERNAL] [PATCH 3/3] net: mana: add a function to spread IRQs per >CPUs > >[Some people who received this message don't often get email from >yury.no...@gmail.com. Learn why this is important at >https://aka.ms/LearnAboutSenderIdentification ] >

RE: [EXTERNAL] [PATCH 3/3] net: mana: add a function to spread IRQs per CPUs

2023-12-18 Thread Souradeep Chakrabarti
Rosswurm > >Subject: [EXTERNAL] [PATCH 3/3] net: mana: add a function to spread IRQs per >CPUs > >[Some people who received this message don't often get email from >yury.no...@gmail.com. Learn why this is important at >https://aka.ms/LearnAboutSenderIdentification ] >

Re: [PATCH 3/3] net: mana: add a function to spread IRQs per CPUs

2023-12-18 Thread Yury Norov
On Mon, Dec 18, 2023 at 01:17:53PM -0800, Jacob Keller wrote: > > > 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 _

Re: [PATCH 3/3] net: mana: add a function to spread IRQs per CPUs

2023-12-18 Thread Jacob Keller
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_

[PATCH 3/3] net: mana: add a function to spread IRQs per CPUs

2023-12-17 Thread Yury Norov
Souradeep investigated that the driver performs faster if IRQs are spread on CPUs with the following heuristics: 1. No more than one IRQ per CPU, if possible; 2. NUMA locality is the second priority; 3. Sibling dislocality is the last priority. Let's consider this topology: Node0