diff options
author | Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com> | 2021-02-05 11:14:28 +0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2021-02-17 03:01:50 +0300 |
commit | 2b5715fc17386a6223490d5b8f08d031999b0c0b (patch) | |
tree | 532a56c17078e9d8eb4859e9871aed64eaad1868 /drivers/acpi/arm64 | |
parent | 68ad4d1cc679c1704faf9db6ddd0550702b5d093 (diff) | |
download | linux-2b5715fc17386a6223490d5b8f08d031999b0c0b.tar.xz |
RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes
The current code computes a number of channels per SRP target and spreads
them equally across all online NUMA nodes. Each channel is then assigned
a CPU within this node.
In the case of unbalanced, or even unpopulated nodes, some channels do not
get a CPU associated and thus do not get connected. This causes the SRP
connection to fail.
This patch solves the issue by rewriting channel computation and
allocation:
- Drop channel to node/CPU association as it had no real effect on
locality but added unnecessary complexity.
- Tweak the number of channels allocated to reduce CPU contention when
possible:
- Up to one channel per CPU (instead of up to 4 by node)
- At least 4 channels per node, unless ch_count module parameter is
used.
Link: https://lore.kernel.org/r/9cb4d9d3-30ad-2276-7eff-e85f7ddfb411@suse.com
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/acpi/arm64')
0 files changed, 0 insertions, 0 deletions