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 <aban...@hpe.com> Acked-by: Russ Anderson <r...@hpe.com> Acked-by: Mike Travis <mike.tra...@hpe.com> --- 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