mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
sparc64: Fix numa node distance initialization
[ Upstream commit 36beca6571 ]
Orabug: 22495713
Currently, NUMA node distance matrix is initialized only
when a machine descriptor (MD) exists. However, sun4u
machines (e.g. Sun Blade 2500) do not have an MD and thus
distance values were left uninitialized. The initialization
is now moved such that it happens on both sun4u and sun4v.
Signed-off-by: Nitin Gupta <nitin.m.gupta@oracle.com>
Tested-by: Mikael Pettersson <mikpelinux@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e9c74337a7
commit
4185bd68ef
@@ -1267,13 +1267,6 @@ static int __init numa_parse_mdesc(void)
|
|||||||
int i, j, err, count;
|
int i, j, err, count;
|
||||||
u64 node;
|
u64 node;
|
||||||
|
|
||||||
/* Some sane defaults for numa latency values */
|
|
||||||
for (i = 0; i < MAX_NUMNODES; i++) {
|
|
||||||
for (j = 0; j < MAX_NUMNODES; j++)
|
|
||||||
numa_latency[i][j] = (i == j) ?
|
|
||||||
LOCAL_DISTANCE : REMOTE_DISTANCE;
|
|
||||||
}
|
|
||||||
|
|
||||||
node = mdesc_node_by_name(md, MDESC_NODE_NULL, "latency-groups");
|
node = mdesc_node_by_name(md, MDESC_NODE_NULL, "latency-groups");
|
||||||
if (node == MDESC_NODE_NULL) {
|
if (node == MDESC_NODE_NULL) {
|
||||||
mdesc_release(md);
|
mdesc_release(md);
|
||||||
@@ -1369,10 +1362,18 @@ static int __init numa_parse_sun4u(void)
|
|||||||
|
|
||||||
static int __init bootmem_init_numa(void)
|
static int __init bootmem_init_numa(void)
|
||||||
{
|
{
|
||||||
|
int i, j;
|
||||||
int err = -1;
|
int err = -1;
|
||||||
|
|
||||||
numadbg("bootmem_init_numa()\n");
|
numadbg("bootmem_init_numa()\n");
|
||||||
|
|
||||||
|
/* Some sane defaults for numa latency values */
|
||||||
|
for (i = 0; i < MAX_NUMNODES; i++) {
|
||||||
|
for (j = 0; j < MAX_NUMNODES; j++)
|
||||||
|
numa_latency[i][j] = (i == j) ?
|
||||||
|
LOCAL_DISTANCE : REMOTE_DISTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
if (numa_enabled) {
|
if (numa_enabled) {
|
||||||
if (tlb_type == hypervisor)
|
if (tlb_type == hypervisor)
|
||||||
err = numa_parse_mdesc();
|
err = numa_parse_mdesc();
|
||||||
|
|||||||
Reference in New Issue
Block a user