2011-06-21 12:22:48

by Cliff Wickman

[permalink] [raw]
Subject: [patch 3/8 v5] x86, UV: allow for non-consecutive sockets

Fix for the topology in which there is a socket 1 on a blade with no socket 0.

Signed-off-by: Cliff Wickman <[email protected]>
---

Only call make_per_cpu_thp() for present sockets.
We have only seen this fail for internal configurations.

arch/x86/platform/uv/tlb_uv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux/arch/x86/platform/uv/tlb_uv.c
===================================================================
--- linux.orig/arch/x86/platform/uv/tlb_uv.c
+++ linux/arch/x86/platform/uv/tlb_uv.c
@@ -1752,10 +1752,10 @@ static int __init summarize_uvhub_socket
sdp = &bdp->socket[socket];
if (scan_sock(sdp, bdp, &smaster, &hmaster))
return 1;
+ make_per_cpu_thp(smaster);
}
socket++;
socket_mask = (socket_mask >> 1);
- make_per_cpu_thp(smaster);
}
}
return 0;


2011-06-21 15:17:19

by Cliff Wickman

[permalink] [raw]
Subject: [tip:x86/uv] x86, UV: Allow for non-consecutive sockets

Commit-ID: 9c9153db22870c3f37add83bea30500fcc268a73
Gitweb: http://git.kernel.org/tip/9c9153db22870c3f37add83bea30500fcc268a73
Author: [email protected] <[email protected]>
AuthorDate: Tue, 21 Jun 2011 07:21:28 -0500
Committer: Ingo Molnar <[email protected]>
CommitDate: Tue, 21 Jun 2011 14:50:32 +0200

x86, UV: Allow for non-consecutive sockets

Fix for the topology in which there is a socket 1 on a blade
with no socket 0.

Only call make_per_cpu_thp() for present sockets.
We have only seen this fail for internal configurations.

Signed-off-by: Cliff Wickman <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/platform/uv/tlb_uv.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c
index 34be650..7623b08 100644
--- a/arch/x86/platform/uv/tlb_uv.c
+++ b/arch/x86/platform/uv/tlb_uv.c
@@ -1752,10 +1752,10 @@ static int __init summarize_uvhub_sockets(int nuvhubs,
sdp = &bdp->socket[socket];
if (scan_sock(sdp, bdp, &smaster, &hmaster))
return 1;
+ make_per_cpu_thp(smaster);
}
socket++;
socket_mask = (socket_mask >> 1);
- make_per_cpu_thp(smaster);
}
}
return 0;