Re: [PATCH 0/4] cpumask: improve on cpumask_local_spread() locality

From: Tariq Toukan
Date: Sun Nov 13 2022 - 02:38:23 EST




On 11/11/2022 6:47 PM, Yury Norov wrote:


On Fri, Nov 11, 2022, 10:25 AM Jakub Kicinski <kuba@xxxxxxxxxx <mailto:kuba@xxxxxxxxxx>> wrote:

On Thu, 10 Nov 2022 20:00:23 -0800 Yury Norov wrote:
> cpumask_local_spread() currently checks local node for presence
of i'th
> CPU, and then if it finds nothing makes a flat search among all
non-local
> CPUs. We can do it better by checking CPUs per NUMA hops.

Nice.


Thanks for your series.
This improves them all, with no changes required to the network device drivers.

> This series is inspired by Valentin Schneider's "net/mlx5e:
Improve remote
> NUMA preferences used for the IRQ affinity hints"
>
>
https://patchwork.kernel.org/project/netdevbpf/patch/20220728191203.4055-3-tariqt@xxxxxxxxxx/ <https://patchwork.kernel.org/project/netdevbpf/patch/20220728191203.4055-3-tariqt@xxxxxxxxxx/>


Find my very first version here, including the perf testing results:
https://patchwork.kernel.org/project/netdevbpf/list/?series=660413&state=*


>
> According to Valentin's measurements, for mlx5e:
>
>       Bottleneck in RX side is released, reached linerate (~1.8x
speedup).
>       ~30% less cpu util on TX.
>
> This patch makes cpumask_local_spread() traversing CPUs based on NUMA
> distance, just as well, and I expect comparabale improvement for its
> users, as in Valentin's case.
>

Right.

> I tested it on my VM with the following NUMA configuration:

nit: the authorship is a bit more complicated, it'd be good to mention
Tariq. Both for the code and attribution of the testing / measurements.


Sure. Tariq and Valentine please send your tags as appropriate.


I wonder what fits best here?

As the contribution is based upon previous work that I developed, then probably:
Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxx>

Thanks,
Tariq