From patchwork Fri Apr 7 19:06:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sinan Kaya X-Patchwork-Id: 9670263 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 86CF360365 for ; Fri, 7 Apr 2017 19:06:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 75994285B6 for ; Fri, 7 Apr 2017 19:06:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 690942860E; Fri, 7 Apr 2017 19:06:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1F26A2860B for ; Fri, 7 Apr 2017 19:06:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934324AbdDGTGa (ORCPT ); Fri, 7 Apr 2017 15:06:30 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:60942 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933069AbdDGTG2 (ORCPT ); Fri, 7 Apr 2017 15:06:28 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 9298160DAD; Fri, 7 Apr 2017 19:06:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1491591987; bh=zMcWWlKDXf+JB6NL/IAhZv1TR8WXRE4wsOcW3roN51k=; h=From:To:Cc:Subject:Date:From; b=gnNvyjazCaAiP2NzT1fpOQBD0w6/mTrbWsQs6I3+FjytoXKxO1Q0NEOVzmBhHd5Z6 u9tfMBYXXx4TdpBtbAUWP1MRLzBuhy0tiYqI9X4zx/+gN/el+3MWl5HSJFqMZxCSuH Mas4V8QiGf7rAg1whyDQJ1LO+2znSVPF2WvhRIOU= Received: from drakthul.qualcomm.com (global_nat1_iad_fw.qualcomm.com [129.46.232.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: okaya@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 9C7A760A0A; Fri, 7 Apr 2017 19:06:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1491591986; bh=zMcWWlKDXf+JB6NL/IAhZv1TR8WXRE4wsOcW3roN51k=; h=From:To:Cc:Subject:Date:From; b=cJTRuOqoWNlsoLVX1qUpeTq79Is37Aa8t/DcuM4tlUDevFKh3uI1zwyqxuTMN6YWu hMtuBqAdp3CzdcUmFdhrCPWDhQiWExe4zB7x66Rpf125peHcxFQsz1Bqm7s30473cT 9A/1817mW4Hew1O0XecNTijUsu6SnO1yorxzb5PI= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 9C7A760A0A Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=okaya@codeaurora.org From: Sinan Kaya To: linux-scsi@vger.kernel.org, timur@codeaurora.org Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Sinan Kaya , Sathya Prakash , Chaitra P B , Suganath Prabu Subramani , "James E.J. Bottomley" , "Martin K. Petersen" , MPT-FusionLinux.pdl@broadcom.com (open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH V2] scsi: mpt3sas: remove redundant wmb Date: Fri, 7 Apr 2017 15:06:18 -0400 Message-Id: <1491591978-17880-1-git-send-email-okaya@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Due to relaxed ordering requirements on multiple architectures, drivers are required to use wmb/rmb/mb combinations when they need to guarantee observability between the memory and the HW. The mpt3sas driver is already using wmb() for this purpose. However, it issues a writel following wmb(). writel() function on arm/arm64 arhictectures have an embedded wmb() call inside. This results in unnecessary performance loss and code duplication. writel already guarantees ordering for both cpu and bus. we don't need additional wmb() Signed-off-by: Sinan Kaya Reviewed-by: Brian King --- drivers/scsi/mpt3sas/mpt3sas_base.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index 5b7aec5..18039bb 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_base.c +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -1025,7 +1025,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg) 0 : ioc->reply_free_host_index + 1; ioc->reply_free[ioc->reply_free_host_index] = cpu_to_le32(reply); - wmb(); writel(ioc->reply_free_host_index, &ioc->chip->ReplyFreeHostIndex); } @@ -1074,7 +1073,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg) return IRQ_NONE; } - wmb(); if (ioc->is_warpdrive) { writel(reply_q->reply_post_host_index, ioc->reply_post_host_index[msix_index]);