Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932816AbdCIQpA (ORCPT ); Thu, 9 Mar 2017 11:45:00 -0500 Received: from relay2.sgi.com ([192.48.180.65]:52791 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932186AbdCIQmZ (ORCPT ); Thu, 9 Mar 2017 11:42:25 -0500 From: Andrew Banman To: mingo@redhat.com Cc: akpm@linux-foundation.org, tglx@linutronix.de, hpa@zytor.com, mike.travis@hpe.com, rja@hpe.com, sivanich@hpe.com, x86@kernel.org, linux-kernel@vger.kernel.org, abanman@hpe.com Subject: [PATCHv3 0/6] x86/platform/uv/BAU: UV4 message completion and initialization updates Date: Thu, 9 Mar 2017 10:42:08 -0600 Message-Id: <1489077734-111753-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: 1959 Lines: 47 The following patch series adds the necessary functionality to make the BAU on UV4 operational. The purpose of these patches is to implement the correct message completion logic on UV4. Also included is a bug fix to add a field to the INTD payload. This is needed to verify the source of each message. As of this patch set, the BAU operates without errors and performance tests show TLB shootdowns take up to 42% less time with the BAU enabled. The series was built and tested on the latest -tip kernel. This version differs from v2 only in some corrected typos and in fixing the context of some patches to resolve build conflicts. The patches are summarized as follows: (1) Populate a message payload field to verify messages at the destination. Without this verification, the destination agent triggers a HUB error, resulting in an NMI. [PATCH 1/6] x86/platform/uv/BAU: Add uv_bau_version enumerated [PATCH 2/6] x86/platform/uv/BAU: Add payload descriptor qualifier This bug fix is included at the start of the series to avoid conflicts in a code path shared by the rest of the series. (2) Make the wait_completion routine part of the bau_operations interface, and add a uv4_wait_completion routine to employ new completion logic. The message completion logic for previous generations relies on software- defined timeouts that are not implemented on UV4. Without these patches, the BAU driver on UV4 erroneously identifies a UV2-WAR timeout during normal operation. [PATCH 3/6] x86/platform/uv/BAU: Cleanup bau_operations declaration [PATCH 4/6] x86/platform/uv/BAU: Add status mmr location fields to [PATCH 5/6] x86/platform/uv/BAU: Add wait_completion to [PATCH 6/6] x86/platform/uv/BAU: Implement uv4_wait_completion with Please see the commit messages for details on the motivation and content of each patch. Thank you, Andrew Banman HPE, Linux Kernel Engineer