Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp76572iob; Wed, 11 May 2022 09:53:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIPt/GdP0jbNCYVJPKQIWwsMJfc7eas/9DVYVqLcPvmXrXD+NaTdq6rL2EGPQC3pl3YNjB X-Received: by 2002:a17:907:2cc3:b0:6fa:55f:8805 with SMTP id hg3-20020a1709072cc300b006fa055f8805mr16914645ejc.46.1652287985269; Wed, 11 May 2022 09:53:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652287985; cv=none; d=google.com; s=arc-20160816; b=X6fhgM8+7bcd7H0T3gz65y9nSyANwW/IgFe0bkSqanTBZfZOANXZCeI13qJQbRjO22 gua+HTz85LpF3goi4BadMNsQb/pSqxAIAFjmQ24dJhzc8TeERsUL8HZKDR3oBLwO8+LZ a1NTUoQcLHcvAs0ts5dPOhfcjNWNc48ieeIyKjdzh/WCtI93WyErYqcbKIs5BYzUKqeV RN+JWTdrq/LTVqI7w/qd9vn/TQdWI4AXy3R/WXUeTLIVaUyR2CJk/kr46mTT3og/4hUw k6nrvwhKrTBNmOTcoS8iyBqIfk6tNHaxtCkQiofuvliwypCg45D/7uH2Pe1/j4tJCvM5 Ygig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=BPEycfHOgqkxF/yooW7RkOaZJP94c/yYWTRXESZ2Yq0=; b=RZtMV7bu55xumV1i4cy8/Vb2wPv9lt7bEpMzuToa+f7CmuwLl7lwnbF0VTaBaVtdo2 xNJ6k0/khPX0r7oioR8VynsSNo5oMgxoHXVmCBuwM5nilkbpAPuXdjPm8WGWA5/oK11R qmbJ6gE8TmULjBWwcOfCUqJQiH+r+fhZ+ghlt0Hol9OKsM7cAYBhO/4Lg1+DSQ6nWP2U k45dJK134/d6YUgytdjIFgRHctSEt1LXJC8EkmSkuXlQZgXo6yZeJYEPQPtsS3UDxs6R 0Owfj9VUbgzpLsHl62X2ZxpUUlIU1fqia1eG/V81FQ6fK0VRb2WUBwRNocLQp6ce8ODI 2iTQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sg32-20020a170907a42000b006f4abbfa2c5si3482454ejc.99.2022.05.11.09.52.38; Wed, 11 May 2022 09:53:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240352AbiEKMmS (ORCPT + 99 others); Wed, 11 May 2022 08:42:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231299AbiEKMmO (ORCPT ); Wed, 11 May 2022 08:42:14 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9A4173F311; Wed, 11 May 2022 05:42:12 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 72402ED1; Wed, 11 May 2022 05:42:12 -0700 (PDT) Received: from [10.57.80.111] (unknown [10.57.80.111]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8555C3F66F; Wed, 11 May 2022 05:42:09 -0700 (PDT) Message-ID: Date: Wed, 11 May 2022 13:42:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH 0/2] perf: ARM CoreSight PMU support Content-Language: en-GB To: Besar Wicaksono , Sudeep Holla Cc: Suzuki K Poulose , Will Deacon , "catalin.marinas@arm.com" , "mark.rutland@arm.com" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-tegra@vger.kernel.org" , "thanu.rangarajan@arm.com" , "Michael.Williams@arm.com" , Thierry Reding , Jonathan Hunter , Vikram Sethi , Mathieu Poirier References: <20220509002810.12412-1-bwicaksono@nvidia.com> <20220509092843.GB26264@willie-the-truck> <2e5e09f9-b71b-d936-e291-db8f94554b18@arm.com> <20220510110742.ievkihggndpms3fn@bogus> <20220510111318.GD27557@willie-the-truck> <20220510184025.iwgknfqe5ygz4jwn@bogus> From: Robin Murphy In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2022-05-11 02:29, Besar Wicaksono wrote: > > >> -----Original Message----- >> From: Sudeep Holla >> Sent: Tuesday, May 10, 2022 1:40 PM >> To: Besar Wicaksono >> Cc: Suzuki K Poulose ; Will Deacon >> ; Sudeep Holla ; >> catalin.marinas@arm.com; mark.rutland@arm.com; linux-arm- >> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux- >> tegra@vger.kernel.org; thanu.rangarajan@arm.com; >> Michael.Williams@arm.com; Thierry Reding ; Jonathan >> Hunter ; Vikram Sethi ; >> Mathieu Poirier >> Subject: Re: [PATCH 0/2] perf: ARM CoreSight PMU support >> >> External email: Use caution opening links or attachments >> >> >> On Tue, May 10, 2022 at 12:13:19PM +0100, Will Deacon wrote: >>> On Tue, May 10, 2022 at 12:07:42PM +0100, Sudeep Holla wrote: >>>> On Mon, May 09, 2022 at 11:02:23AM +0100, Suzuki K Poulose wrote: >>>>> Cc: Mike Williams, Mathieu Poirier >>>>> On 09/05/2022 10:28, Will Deacon wrote: >>>>>> On Sun, May 08, 2022 at 07:28:08PM -0500, Besar Wicaksono wrote: >>>>>>> arch/arm64/configs/defconfig | 1 + >>>>>>> drivers/perf/Kconfig | 2 + >>>>>>> drivers/perf/Makefile | 1 + >>>>>>> drivers/perf/coresight_pmu/Kconfig | 10 + >>>>>>> drivers/perf/coresight_pmu/Makefile | 7 + >>>>>>> .../perf/coresight_pmu/arm_coresight_pmu.c | 1317 >> +++++++++++++++++ >>>>>>> .../perf/coresight_pmu/arm_coresight_pmu.h | 147 ++ >>>>>>> .../coresight_pmu/arm_coresight_pmu_nvidia.c | 300 ++++ >>>>>>> .../coresight_pmu/arm_coresight_pmu_nvidia.h | 17 + >>>>>>> 9 files changed, 1802 insertions(+) >>>>>> >>>>>> How does this interact with all the stuff we have under >>>>>> drivers/hwtracing/coresight/? >>>>> >>>>> Absolutely zero, except for the name. The standard >>>>> is named "CoreSight PMU" which is a bit unfortunate, >>>>> given the only link, AFAIU, with the "CoreSight" architecture >>>>> is the Lock Access Register(LAR). For reference, the >>>>> drivers/hwtracing/coresight/ is purely "CoreSight" self-hosted >>>>> tracing and the PMU is called "cs_etm" (expands to coresight etm). >>>>> Otherwise the standard doesn't have anything to do with what >>>>> exists already in the kernel. >>> >>> That's... a poor naming choice! But good, if it's entirely separate then I >>> don't have to worry about that. Just wanted to make sure we're not going >> to >>> get tangled up in things like ROM tables and Coresight power domains for >>> these things. >>> >> >> OK, now that triggered another question/thought. >> >> 1. Do you need to do active power management for these PMUs ? Or like >> CPU PMUs, do you reject entering low power states if there is active >> session in progress. If there is active session, runtime PM won't get >> triggered but if there is system wide suspend, how is that dealt with ? >> > > Looking at the other uncore/system PMUs, none of the drivers support PM ops. > NVIDIA system PMU also does not get power gated and system suspend is not > supported. But just like other uncore PMU driver, this driver supports CPU hotplug. > If PM is needed, the required info should have been expressed in ACPI. > >> 2. Assuming you need some sort of PM, and since this is static table(which >> I really don't like/prefer but it is out there ????), how do you plan to >> get the power domain related information. >> > > I guess the APMT spec in section 2.2 may cover this. If a PMU implementation has > properties beyond what is defined in the spec, these properties can be described in DSDT. > The driver doesn’t take care of this currently, so this is a room for future improvement. Yes, I assume it's essentially the same story as for MPAM MSCs in this respect. Plus it means that MSI support will be similarly fun, where we'll need to have a corresponding DSDT device via which we can request the interrupt, because that needs to further correlate to an IORT Named Component node describing the ITS mapping. Hopefully we can abstract some of that in the APMT code rather than expose it all to the PMU driver... Robin.