Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753135AbdGRWBD (ORCPT ); Tue, 18 Jul 2017 18:01:03 -0400 Received: from relay3.sgi.com ([192.48.152.1]:36625 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752756AbdGRWBC (ORCPT ); Tue, 18 Jul 2017 18:01:02 -0400 X-Greylist: delayed 530 seconds by postgrey-1.27 at vger.kernel.org; Tue, 18 Jul 2017 18:01:02 EDT From: Andrew Banman To: mingo@redhat.com Cc: tglx@linutronix.de, x86@kernel.org, linux-kernel@vger.kernel.org, rja@hpe.com, mike.travis@hpe.com, Andrew Banman Subject: [PATCH] x86/platform/uv/BAU: disable BAU on single hub configurations Date: Tue, 18 Jul 2017 16:51:33 -0500 Message-Id: <1500414693-84043-1-git-send-email-abanman@hpe.com> X-Mailer: git-send-email 1.8.2.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 994 Lines: 31 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 Acked-by: Russ Anderson Acked-by: Mike Travis --- 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