[PATCH] x86/platform/uv/BAU: disable BAU on single hub configurations

From: Andrew Banman
Date: Tue Jul 18 2017 - 18:01:05 EST


The BAU confers no benefit to a UV system running with only one hub/socket.
Permanently disable the BAU driver if there are less than two hubs online
to avoid BAU overhead. We have observed failed boots on single-socket UV4
systems caused by BAU that are avoided with this patch.

Signed-off-by: Andrew Banman <abanman@xxxxxxx>
Acked-by: Russ Anderson <rja@xxxxxxx>
Acked-by: Mike Travis <mike.travis@xxxxxxx>
---
arch/x86/platform/uv/tlb_uv.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c
index 2511a28..88216cc 100644
--- a/arch/x86/platform/uv/tlb_uv.c
+++ b/arch/x86/platform/uv/tlb_uv.c
@@ -2251,6 +2251,12 @@ static int __init uv_bau_init(void)
}

nuvhubs = uv_num_possible_blades();
+ if (nuvhubs < 2) {
+ pr_crit("UV: BAU disabled - insufficient hub count\n");
+ set_bau_off();
+ nobau_perm = 1;
+ return 0;
+ }

uv_base_pnode = 0x7fffffff;
for (uvhub = 0; uvhub < nuvhubs; uvhub++) {
--
1.8.2.1