From: Valentin Schneider <vschneid@redhat.com>
To: netdev@vger.kernel.org, linux-rdma@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: Saeed Mahameed <saeedm@nvidia.com>,
Leon Romanovsky <leon@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Yury Norov <yury.norov@gmail.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Mel Gorman <mgorman@suse.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Barry Song <song.bao.hua@hisilicon.com>,
Heiko Carstens <hca@linux.ibm.com>,
Tony Luck <tony.luck@intel.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Gal Pressman <gal@nvidia.com>, Tariq Toukan <tariqt@nvidia.com>
Subject: [PATCH 0/5] cpumask, sched/topology: NUMA-aware CPU spreading interface
Date: Tue, 16 Aug 2022 19:07:22 +0100 [thread overview]
Message-ID: <20220816180727.387807-1-vschneid@redhat.com> (raw)
Hi folks,
Tariq pointed out in [1] that drivers allocating IRQ vectors would benefit
from having smarter NUMA-awareness (cpumask_local_spread() doesn't quite cut
it).
The proposed interface involved an array of CPUs and a temporary cpumask, and
being my difficult self what I'm proposing here is an interface that doesn't
require any temporary storage other than some stack variables (at the cost of
one wild macro).
Patch 5/5 is just there to showcase how the thing would be used. If this doesn't
get hated on, I'll let Tariq pick this up and push it with his networking driver
changes (with actual changelogs).
[1]: https://lore.kernel.org/all/20220728191203.4055-1-tariqt@nvidia.com/
Cheers,
Valentin
Valentin Schneider (5):
bitops: Introduce find_next_andnot_bit()
cpumask: Introduce for_each_cpu_andnot()
sched/topology: Introduce sched_numa_hop_mask()
sched/topology: Introduce for_each_numa_hop_cpu()
SHOWCASE: net/mlx5e: Leverage for_each_numa_hop_cpu()
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 12 ++++-
include/linux/cpumask.h | 32 ++++++++++++++
include/linux/find.h | 44 ++++++++++++++++---
include/linux/topology.h | 46 ++++++++++++++++++++
kernel/sched/topology.c | 28 ++++++++++++
lib/cpumask.c | 19 ++++++++
lib/find_bit.c | 16 ++++---
7 files changed, 184 insertions(+), 13 deletions(-)
--
2.31.1
next reply other threads:[~2022-08-16 18:11 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-16 18:07 Valentin Schneider [this message]
2022-08-16 18:07 ` [PATCH 1/5] bitops: Introduce find_next_andnot_bit() Valentin Schneider
2022-08-16 22:13 ` Yury Norov
2022-08-17 10:09 ` Valentin Schneider
2022-08-16 18:07 ` [PATCH 2/5] cpumask: Introduce for_each_cpu_andnot() Valentin Schneider
2022-08-16 22:24 ` Yury Norov
2022-08-17 10:09 ` Valentin Schneider
2022-08-16 18:07 ` [PATCH 3/5] sched/topology: Introduce sched_numa_hop_mask() Valentin Schneider
2022-08-16 18:07 ` [PATCH 4/5] sched/topology: Introduce for_each_numa_hop_cpu() Valentin Schneider
2022-08-16 18:07 ` [PATCH 5/5] SHOWCASE: net/mlx5e: Leverage for_each_numa_hop_cpu() Valentin Schneider
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220816180727.387807-1-vschneid@redhat.com \
--to=vschneid@redhat.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=davem@davemloft.net \
--cc=dietmar.eggemann@arm.com \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=gregkh@linuxfoundation.org \
--cc=hca@linux.ibm.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=mgorman@suse.de \
--cc=mingo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=saeedm@nvidia.com \
--cc=song.bao.hua@hisilicon.com \
--cc=tariqt@nvidia.com \
--cc=tony.luck@intel.com \
--cc=vincent.guittot@linaro.org \
--cc=yury.norov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox