[PULL][lunar] sched: cpumask: improve on cpumask_local_spread() locality

dann frazier dann.frazier at canonical.com
Wed Mar 22 21:50:01 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2008824

A patch series landed upstream during the v6.3 merge window that shows
impressive performance improvements in iperf3 multi-stream performance
on NUMA based systems w/ Mellanox network controllers:
  https://www.spinics.net/lists/linux-rdma/msg115357.html

It cherry-picks cleanly back to lunar's 6.2. I looked for any
following commits with Fixes: references to these commits, and found
one which I've also included here.

Running our 8 client ubuntu_performance_iperf3 test from autotest
shows a 7% improvement with a test kernel I built in ppa:dannf/mlnxaffinity.
(I measured w/o "set_irq_affinity.sh" tuning, so I could see the
impact on default behavior).

The following changes since commit a89b4899c906ed38ab38a41f4d2448d834e42b8e:

  UBUNTU: [Config] define CONFIG_SECURITY_APPARMOR_RESTRICT_USERNS (2023-03-22 08:42:33 +0100)

are available in the Git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux 6f413f056d9b32d7b78d14ebe3fa96a0813c8db3

for you to fetch changes up to 6f413f056d9b32d7b78d14ebe3fa96a0813c8db3:

  sched/topology: fix KASAN warning in hop_cmp() (2023-03-22 10:43:01 -0600)

----------------------------------------------------------------
Tariq Toukan (1):
      net/mlx5e: Improve remote NUMA preferences used for the IRQ affinity hints

Valentin Schneider (2):
      sched/topology: Introduce sched_numa_hop_mask()
      sched/topology: Introduce for_each_numa_hop_mask()

Yury Norov (7):
      lib/find: introduce find_nth_and_andnot_bit
      cpumask: introduce cpumask_nth_and_andnot
      sched: add sched_numa_find_nth_cpu()
      cpumask: improve on cpumask_local_spread() locality
      lib/cpumask: reorganize cpumask_local_spread() logic
      lib/cpumask: update comment for cpumask_local_spread()
      sched/topology: fix KASAN warning in hop_cmp()

 drivers/net/ethernet/mellanox/mlx5/core/eq.c | 18 +++++-
 include/linux/cpumask.h                      | 20 ++++++
 include/linux/find.h                         | 33 ++++++++++
 include/linux/topology.h                     | 33 ++++++++++
 kernel/sched/topology.c                      | 95 ++++++++++++++++++++++++++++
 lib/cpumask.c                                | 52 ++++++++-------
 lib/find_bit.c                               |  9 +++
 7 files changed, 235 insertions(+), 25 deletions(-)



More information about the kernel-team mailing list