Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3940753pxj; Mon, 21 Jun 2021 09:50:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxNyEpZeAC4ATwPxaclf2O7yjsTlBB+sWxl5Khf8FDvL3Xusl1Qm4BgmQBbTEp6jMe1iTco X-Received: by 2002:a17:906:dbe1:: with SMTP id yd1mr7164152ejb.114.1624294202293; Mon, 21 Jun 2021 09:50:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624294202; cv=none; d=google.com; s=arc-20160816; b=T9f25gOqXHTkKmJImMQNwAPiv+PYe80lXZp86m6j1qbQusbCULJ/mmb+fIvHnD1ZSZ 5zaDg6sCQAl1BYa/qihU4oCj98pAPL6ksX5NYsBlgroPMrhbR8fzOeZA5V1lQ6NaePEm q/X/hN8mT3MVUwj8EIoCV620ZAiyJCG9uDCXI/ddLIZ3VH+GUI+z7DDAGnG40GltM73M ghCTYFXkvo9UDvbY5DwPUXnO3noXHBvgPDmTXiWpc5KkqcGoNtC6ew/KRcn15JBMiO6w dDUnbM3JibofImbS6yP6QA82jWsD/73H6bFB6tHbo8pWwbT3ORK26FCHSOAEARh2Giog pnJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=+n6yWTzDyX47KwJNa7KHMx7CWYuhbIYG+H4P0m24kvo=; b=nwa95fqjQLY9DafnsxgF/EXtwQ7N4AWQgg4CF5I2KoU+ZgAhyxTS5FykLOHjugathZ 9cX8FQEmZUxvodNyCGNqcqBtUYb0zV0kgvRx8qkSmyUcnnxW7JleDxwEOuKnRvVJgN9l XsHRLOsBWXsj8HdQ97I4AJSiATUnw7jCPP81SwIVdbZBV628oJUTx9Ga5W4hucHGolQI YipN8/DJWEYum16kTeyQ/Qv/P5DB4lZsWjk4fSoqmDKtVFUZ7EGlUKDrogUfpBXgOTVk ZOJPs3+mMGfVoCWSFIK4NxVzM7zD3FOtaPZDRAJXFImeS9C31ofLmdrI3aQhJzHJGquq Zo2Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bq17si12227759ejb.145.2021.06.21.09.49.40; Mon, 21 Jun 2021 09:50:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231700AbhFUQsb (ORCPT + 99 others); Mon, 21 Jun 2021 12:48:31 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:3297 "EHLO frasgout.his.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233316AbhFUQn5 (ORCPT ); Mon, 21 Jun 2021 12:43:57 -0400 Received: from fraeml707-chm.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4G7w5p2wfjz6L7cg; Tue, 22 Jun 2021 00:31:42 +0800 (CST) Received: from lhreml724-chm.china.huawei.com (10.201.108.75) by fraeml707-chm.china.huawei.com (10.206.15.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Mon, 21 Jun 2021 18:41:39 +0200 Received: from localhost.localdomain (10.69.192.58) by lhreml724-chm.china.huawei.com (10.201.108.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Mon, 21 Jun 2021 17:41:36 +0100 From: John Garry To: , CC: , , , , , John Garry Subject: [PATCH] iommu/arm-smmu-v3: Remove some unneeded init in arm_smmu_cmdq_issue_cmdlist() Date: Tue, 22 Jun 2021 00:36:34 +0800 Message-ID: <1624293394-202509-1-git-send-email-john.garry@huawei.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.58] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To lhreml724-chm.china.huawei.com (10.201.108.75) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Members of struct "llq" will be zero-inited, apart from member max_n_shift. But we write llq.val straight after the init, so it was pointless to zero init those other members. As such, separately init member max_n_shift only. In addition, struct "head" is initialised to "llq" only so that member max_n_shift is set. But that member is never referenced for "head", so remove any init there. Removing these initializations is seen as a small performance optimisation, as this code is (very) hot path. Signed-off-by: John Garry diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c index 54b2f27b81d4..8a8ad49bb7fd 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -727,11 +727,11 @@ static int arm_smmu_cmdq_issue_cmdlist(struct arm_smmu_device *smmu, unsigned long flags; bool owner; struct arm_smmu_cmdq *cmdq = &smmu->cmdq; - struct arm_smmu_ll_queue llq = { - .max_n_shift = cmdq->q.llq.max_n_shift, - }, head = llq; + struct arm_smmu_ll_queue llq, head; int ret = 0; + llq.max_n_shift = cmdq->q.llq.max_n_shift; + /* 1. Allocate some space in the queue */ local_irq_save(flags); llq.val = READ_ONCE(cmdq->q.llq.val); -- 2.26.2