Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp915490pxb; Wed, 3 Mar 2021 20:55:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJy5TG4j9Rob6oy9HjxqE/1JX2KIgw/757YpG13+q3ut6s8mTbQghnWwqiBmrO+XRqwewubg X-Received: by 2002:a17:906:b286:: with SMTP id q6mr2288944ejz.422.1614833735662; Wed, 03 Mar 2021 20:55:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614833735; cv=none; d=google.com; s=arc-20160816; b=whQ8pu/FNae2S3OIGLQwBtCto6aM8cR8hezIv//Q/IxBBa5yVdoiy/6vOOYakS2vBl VL0kt5nY1U4plS4XPnfIHx2WILOJOAqdUsmqjWVTVfCwuNuqwHPJxU/8JiatSqTyy+KH yJr0JS+KxYuP58I20lyWT2VuLPvBKWUoHnO18Mce/ZHEWf2WpRIp4tyXl6185hOBrjvd wxRNFpaWJAYrAQA0gAT6qL8DWE0sHptxj7IydE4RNSqoIt1jmCLEtKtwZWFOXPMFwGAj 38QwmzyawMwOj4jVEHyWL8a4oI4+weR6jWTApH++c3r/T9LAkc8wjC4eD2Sx+YqEzfZJ UxNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=VLwQp2LY4ihWrCNlSeiA1+p7n7o9LuRso3vqtHSO69s=; b=yzcGXW5ssvtSogCeRJVyGNaPuvMNebCiYzHTvwArkRsmN3jbnXgS3DK9bLNXThtFDe 4Vnl9FJsKMMiPyZvxzt+7WfvR08xtpIATPScEINFTql8iu0AyNgIpThw3Um84jz91kCK PQc3MBPYO7z34piZoce3LXZ4Bl876i0mdBLVoY9RVpc0aQpB54M+D9jFJQHkp73jfI5v P0NaA/VSl0gENhABSWez9Xrp4ypsa3tg3WPNdzPp10MX/o3taTaj6wzwJCYEEb0XdvlF aneRgXNgHAfvSkWjvgWp3RVTAEN3zLyZ3RiKCxqdsPW516lfcUNDQPegbEHsusrybdUl 3MUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=klOS2fS4; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b3si16569560edk.600.2021.03.03.20.55.13; Wed, 03 Mar 2021 20:55:35 -0800 (PST) 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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=klOS2fS4; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442692AbhCBCPZ (ORCPT + 99 others); Mon, 1 Mar 2021 21:15:25 -0500 Received: from mail.kernel.org ([198.145.29.99]:55144 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242156AbhCAToA (ORCPT ); Mon, 1 Mar 2021 14:44:00 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 12CF464E2E; Mon, 1 Mar 2021 17:13:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614618824; bh=ELZikx7g3N74HYqa74de0f9j+RRsCSv1vYuRnXBIa+U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=klOS2fS4dugT+CCM6+HVvRx60pnHfnmtOauu4M+/6Bfp0JmSGY5pf+D1EDe1U1Ds/ g9AkH0XsVpCwabQagyt2UICGeW9nNo4MHTgJ6QQ8fZhSkwESqrnQkeWZIszQv31No9 wKq25Ph4ejWdZ04uT1UDl9t+fhpaAR+Vp3aPNBkg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Robin Murphy , Will Deacon , Sasha Levin Subject: [PATCH 5.10 200/663] perf/arm-cmn: Fix PMU instance naming Date: Mon, 1 Mar 2021 17:07:28 +0100 Message-Id: <20210301161151.676613738@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161141.760350206@linuxfoundation.org> References: <20210301161141.760350206@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Robin Murphy [ Upstream commit 79d7c3dca99fa96033695ddf5d495b775a3a137b ] Although it's neat to avoid the suffix for the typical case of a single PMU, it means systems with multiple CMN instances end up with inconsistent naming. I think it also breaks perf tool's "uncore alias" logic if the common instance prefix is also the full name of one. Avoid any surprises by not trying to be clever and simply numbering every instance, even when it might technically prove redundant. Fixes: 0ba64770a2f2 ("perf: Add Arm CMN-600 PMU driver") Signed-off-by: Robin Murphy Link: https://lore.kernel.org/r/649a2281233f193d59240b13ed91b57337c77b32.1611839564.git.robin.murphy@arm.com Signed-off-by: Will Deacon Signed-off-by: Sasha Levin --- Documentation/admin-guide/perf/arm-cmn.rst | 2 +- drivers/perf/arm-cmn.c | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/Documentation/admin-guide/perf/arm-cmn.rst b/Documentation/admin-guide/perf/arm-cmn.rst index 0e48093460140..796e25b7027b2 100644 --- a/Documentation/admin-guide/perf/arm-cmn.rst +++ b/Documentation/admin-guide/perf/arm-cmn.rst @@ -17,7 +17,7 @@ PMU events ---------- The PMU driver registers a single PMU device for the whole interconnect, -see /sys/bus/event_source/devices/arm_cmn. Multi-chip systems may link +see /sys/bus/event_source/devices/arm_cmn_0. Multi-chip systems may link more than one CMN together via external CCIX links - in this situation, each mesh counts its own events entirely independently, and additional PMU devices will be named arm_cmn_{1..n}. diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c index a76ff594f3ca4..f3071b5ddaaef 100644 --- a/drivers/perf/arm-cmn.c +++ b/drivers/perf/arm-cmn.c @@ -1502,7 +1502,7 @@ static int arm_cmn_probe(struct platform_device *pdev) struct arm_cmn *cmn; const char *name; static atomic_t id; - int err, rootnode, this_id; + int err, rootnode; cmn = devm_kzalloc(&pdev->dev, sizeof(*cmn), GFP_KERNEL); if (!cmn) @@ -1549,14 +1549,9 @@ static int arm_cmn_probe(struct platform_device *pdev) .cancel_txn = arm_cmn_end_txn, }; - this_id = atomic_fetch_inc(&id); - if (this_id == 0) { - name = "arm_cmn"; - } else { - name = devm_kasprintf(cmn->dev, GFP_KERNEL, "arm_cmn_%d", this_id); - if (!name) - return -ENOMEM; - } + name = devm_kasprintf(cmn->dev, GFP_KERNEL, "arm_cmn_%d", atomic_fetch_inc(&id)); + if (!name) + return -ENOMEM; err = cpuhp_state_add_instance(arm_cmn_hp_state, &cmn->cpuhp_node); if (err) -- 2.27.0