From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D787323770; Fri, 17 May 2024 10:01:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715940077; cv=none; b=alSFO4hipDNtNre7NTQ3bLlWNSUGwZiU9PIq+MEq4S0Gou4Y6cIAFFipIuXUdvXgkceAtCaR0iANc+YrfU72jRHcX8yXrC3IihpMJvPjCENC4zubpvz2asb0SjiLd8pSpt8jJHaVnZ0a4owwx0ATZtUYHdFGUvhizN9TbNeyBl8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715940077; c=relaxed/simple; bh=DIGYKbma4xgmMvhulhhTVRwTtUsbtMcm/O0rYLgnZSc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=e/cjGQY5OGyKG28CEO63r59oJGDLgOIIwhs2+fsyoN6QQXc8IIqhEkQum5gTzmoBPPZPQ3j3WMg22m1gFglql3/u/29b2QSKx7KPYOA4yP30hgSDbASs7GswV2KPCrlvQ9gZIS0tNFE695zWJAvyovaT/SZxtGzvd/lh7zgI9j0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com 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 AA9C21424; Fri, 17 May 2024 03:01:31 -0700 (PDT) Received: from [10.91.2.16] (usa-sjc-mx-foss1.foss.arm.com [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D98DF3F762; Fri, 17 May 2024 03:01:04 -0700 (PDT) Message-ID: <02bec885-5fd7-42dd-b85c-9547be7d3211@arm.com> Date: Fri, 17 May 2024 12:01:02 +0200 Precedence: bulk X-Mailing-List: linux-perf-users@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 16/17] coresight: Re-emit trace IDs when the sink changes in per-thread mode To: Suzuki K Poulose Cc: Alexander Shishkin , Maxime Coquelin , Alexandre Torgue , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Jiri Olsa , Ian Rogers , Adrian Hunter , John Garry , Will Deacon , Leo Yan , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-perf-users@vger.kernel.org, gankulkarni@os.amperecomputing.com, scclevenger@os.amperecomputing.com, coresight@lists.linaro.org, mike.leach@linaro.org References: <20240429152207.479221-1-james.clark@arm.com> <20240429152207.479221-18-james.clark@arm.com> <0d433917-f638-4ca6-ba6a-1d5e85895024@arm.com> Content-Language: en-US From: James Clark In-Reply-To: <0d433917-f638-4ca6-ba6a-1d5e85895024@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 07/05/2024 13:05, Suzuki K Poulose wrote: > On 29/04/2024 16:22, James Clark wrote: >> In per-cpu mode there are multiple aux buffers and each one has a >> fixed sink, so the hw ID mappings which only need to be emitted once >> for each buffer, even with the new per-sink trace ID pools. >> >> But in per-thread mode there is only a single buffer which can be >> written to from any sink with now potentially overlapping trace IDs, so >> hw ID mappings need to be re-emitted every time the sink changes. >> >> This will require a change in Perf to track this so it knows which >> decode tree to use for each segment of the buffer. In theory it's also >> possible to look at the CPU ID on the AUX records, but this is more >> consistent with the existing system, and allows for correct decode using >> either mechanism. >> >> Signed-off-by: James Clark >> --- >>   drivers/hwtracing/coresight/coresight-etm-perf.c | 14 ++++++++++++++ >>   drivers/hwtracing/coresight/coresight-etm-perf.h |  2 ++ >>   2 files changed, 16 insertions(+) >> >> diff --git a/drivers/hwtracing/coresight/coresight-etm-perf.c >> b/drivers/hwtracing/coresight/coresight-etm-perf.c >> index f07173aa4d66..08f3958f9367 100644 >> --- a/drivers/hwtracing/coresight/coresight-etm-perf.c >> +++ b/drivers/hwtracing/coresight/coresight-etm-perf.c >> @@ -499,6 +499,20 @@ static void etm_event_start(struct perf_event >> *event, int flags) >>                         &sink->perf_id_map)) >>           goto fail_disable_path; >>   +    /* >> +     * In per-cpu mode there are multiple aux buffers and each one has a >> +     * fixed sink, so the hw ID mappings which only need to be >> emitted once >> +     * for each buffer. >> +     * >> +     * But in per-thread mode there is only a single buffer which can be >> +     * written to from any sink with potentially overlapping trace >> IDs, so >> +     * hw ID mappings need to be re-emitted every time the sink changes. >> +     */ >> +    if (event->cpu == -1 && event_data->last_sink_hwid != sink) { >> +        cpumask_clear(&event_data->aux_hwid_done); >> +        event_data->last_sink_hwid = sink; >> +    } >> + > > With the traceid caching in the event_data per-cpu , we could avoid this > step ? > > Suzuki > > I don't think so, this is to inform the tool that the mappings have changed if the tool doesn't want to follow switch events. Unless I'm missing something, moving where the trace ids are stored doesn't mean that they will be re-sent when the mappings change? From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 285C7C25B78 for ; Fri, 17 May 2024 10:01:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PyQyHMIe2oLU5vL9NImENmhaHI9Lzupms+O3omyt+vk=; b=TopAR76jqoCg9H c9kaKrADOmzwwJJsWEkgnyGFeyvmvRCbcxnylbDsqsQupz/DM2DiVFYKpy7herKeBHp6w+y4GzuJZ m/SRG0BlynuF1i1btlQdpMLjsQeTWdTY8naebJJ66DLvK/BrYOJOq4+8TbFGn5n5AYVHtATC5m2dQ xxESGhcYxMh+PgUdZG4PMJaKcprs69WTtkhhi4Aonc1vmxtyKklpG8XM0cKWmklxo27+TnORW5zNn 8467qyU35jBVfpjdZHCE6ZQY/I527OTnCGVgnGwpkisqgUj4cbgO2rw0uVgcWCYvAXOT6GzNBHNg2 /kCcbHyA5mM8q+evO9pA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s7uOr-00000007SDv-2FfH; Fri, 17 May 2024 10:01:17 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s7uOo-00000007SCu-07ZF for linux-arm-kernel@lists.infradead.org; Fri, 17 May 2024 10:01:16 +0000 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 AA9C21424; Fri, 17 May 2024 03:01:31 -0700 (PDT) Received: from [10.91.2.16] (usa-sjc-mx-foss1.foss.arm.com [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D98DF3F762; Fri, 17 May 2024 03:01:04 -0700 (PDT) Message-ID: <02bec885-5fd7-42dd-b85c-9547be7d3211@arm.com> Date: Fri, 17 May 2024 12:01:02 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 16/17] coresight: Re-emit trace IDs when the sink changes in per-thread mode To: Suzuki K Poulose Cc: Alexander Shishkin , Maxime Coquelin , Alexandre Torgue , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Jiri Olsa , Ian Rogers , Adrian Hunter , John Garry , Will Deacon , Leo Yan , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-perf-users@vger.kernel.org, gankulkarni@os.amperecomputing.com, scclevenger@os.amperecomputing.com, coresight@lists.linaro.org, mike.leach@linaro.org References: <20240429152207.479221-1-james.clark@arm.com> <20240429152207.479221-18-james.clark@arm.com> <0d433917-f638-4ca6-ba6a-1d5e85895024@arm.com> Content-Language: en-US From: James Clark In-Reply-To: <0d433917-f638-4ca6-ba6a-1d5e85895024@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240517_030114_308161_3A920075 X-CRM114-Status: GOOD ( 19.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAwNy8wNS8yMDI0IDEzOjA1LCBTdXp1a2kgSyBQb3Vsb3NlIHdyb3RlOgo+IE9uIDI5LzA0 LzIwMjQgMTY6MjIsIEphbWVzIENsYXJrIHdyb3RlOgo+PiBJbiBwZXItY3B1IG1vZGUgdGhlcmUg YXJlIG11bHRpcGxlIGF1eCBidWZmZXJzIGFuZCBlYWNoIG9uZSBoYXMgYQo+PiBmaXhlZCBzaW5r LCBzbyB0aGUgaHcgSUQgbWFwcGluZ3Mgd2hpY2ggb25seSBuZWVkIHRvIGJlIGVtaXR0ZWQgb25j ZQo+PiBmb3IgZWFjaCBidWZmZXIsIGV2ZW4gd2l0aCB0aGUgbmV3IHBlci1zaW5rIHRyYWNlIElE IHBvb2xzLgo+Pgo+PiBCdXQgaW4gcGVyLXRocmVhZCBtb2RlIHRoZXJlIGlzIG9ubHkgYSBzaW5n bGUgYnVmZmVyIHdoaWNoIGNhbiBiZQo+PiB3cml0dGVuIHRvIGZyb20gYW55IHNpbmsgd2l0aCBu b3cgcG90ZW50aWFsbHkgb3ZlcmxhcHBpbmcgdHJhY2UgSURzLCBzbwo+PiBodyBJRCBtYXBwaW5n cyBuZWVkIHRvIGJlIHJlLWVtaXR0ZWQgZXZlcnkgdGltZSB0aGUgc2luayBjaGFuZ2VzLgo+Pgo+ PiBUaGlzIHdpbGwgcmVxdWlyZSBhIGNoYW5nZSBpbiBQZXJmIHRvIHRyYWNrIHRoaXMgc28gaXQg a25vd3Mgd2hpY2gKPj4gZGVjb2RlIHRyZWUgdG8gdXNlIGZvciBlYWNoIHNlZ21lbnQgb2YgdGhl IGJ1ZmZlci4gSW4gdGhlb3J5IGl0J3MgYWxzbwo+PiBwb3NzaWJsZSB0byBsb29rIGF0IHRoZSBD UFUgSUQgb24gdGhlIEFVWCByZWNvcmRzLCBidXQgdGhpcyBpcyBtb3JlCj4+IGNvbnNpc3RlbnQg d2l0aCB0aGUgZXhpc3Rpbmcgc3lzdGVtLCBhbmQgYWxsb3dzIGZvciBjb3JyZWN0IGRlY29kZSB1 c2luZwo+PiBlaXRoZXIgbWVjaGFuaXNtLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBKYW1lcyBDbGFy ayA8amFtZXMuY2xhcmtAYXJtLmNvbT4KPj4gLS0tCj4+IMKgIGRyaXZlcnMvaHd0cmFjaW5nL2Nv cmVzaWdodC9jb3Jlc2lnaHQtZXRtLXBlcmYuYyB8IDE0ICsrKysrKysrKysrKysrCj4+IMKgIGRy aXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtLXBlcmYuaCB8wqAgMiArKwo+ PiDCoCAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtLXBlcmYuYwo+PiBiL2Ry aXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtLXBlcmYuYwo+PiBpbmRleCBm MDcxNzNhYTRkNjYuLjA4ZjM5NThmOTM2NyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9od3RyYWNp bmcvY29yZXNpZ2h0L2NvcmVzaWdodC1ldG0tcGVyZi5jCj4+ICsrKyBiL2RyaXZlcnMvaHd0cmFj aW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtLXBlcmYuYwo+PiBAQCAtNDk5LDYgKzQ5OSwyMCBA QCBzdGF0aWMgdm9pZCBldG1fZXZlbnRfc3RhcnQoc3RydWN0IHBlcmZfZXZlbnQKPj4gKmV2ZW50 LCBpbnQgZmxhZ3MpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgJnNpbmstPnBlcmZfaWRfbWFwKSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZmFp bF9kaXNhYmxlX3BhdGg7Cj4+IMKgICvCoMKgwqAgLyoKPj4gK8KgwqDCoMKgICogSW4gcGVyLWNw dSBtb2RlIHRoZXJlIGFyZSBtdWx0aXBsZSBhdXggYnVmZmVycyBhbmQgZWFjaCBvbmUgaGFzIGEK Pj4gK8KgwqDCoMKgICogZml4ZWQgc2luaywgc28gdGhlIGh3IElEIG1hcHBpbmdzIHdoaWNoIG9u bHkgbmVlZCB0byBiZQo+PiBlbWl0dGVkIG9uY2UKPj4gK8KgwqDCoMKgICogZm9yIGVhY2ggYnVm ZmVyLgo+PiArwqDCoMKgwqAgKgo+PiArwqDCoMKgwqAgKiBCdXQgaW4gcGVyLXRocmVhZCBtb2Rl IHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYnVmZmVyIHdoaWNoIGNhbiBiZQo+PiArwqDCoMKgwqAg KiB3cml0dGVuIHRvIGZyb20gYW55IHNpbmsgd2l0aCBwb3RlbnRpYWxseSBvdmVybGFwcGluZyB0 cmFjZQo+PiBJRHMsIHNvCj4+ICvCoMKgwqDCoCAqIGh3IElEIG1hcHBpbmdzIG5lZWQgdG8gYmUg cmUtZW1pdHRlZCBldmVyeSB0aW1lIHRoZSBzaW5rIGNoYW5nZXMuCj4+ICvCoMKgwqDCoCAqLwo+ PiArwqDCoMKgIGlmIChldmVudC0+Y3B1ID09IC0xICYmIGV2ZW50X2RhdGEtPmxhc3Rfc2lua19o d2lkICE9IHNpbmspIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGNwdW1hc2tfY2xlYXIoJmV2ZW50X2Rh dGEtPmF1eF9od2lkX2RvbmUpOwo+PiArwqDCoMKgwqDCoMKgwqAgZXZlbnRfZGF0YS0+bGFzdF9z aW5rX2h3aWQgPSBzaW5rOwo+PiArwqDCoMKgIH0KPj4gKwo+IAo+IFdpdGggdGhlIHRyYWNlaWQg Y2FjaGluZyBpbiB0aGUgZXZlbnRfZGF0YSBwZXItY3B1ICwgd2UgY291bGQgYXZvaWQgdGhpcwo+ IHN0ZXAgPwo+IAo+IFN1enVraQo+IAo+IAoKSSBkb24ndCB0aGluayBzbywgdGhpcyBpcyB0byBp bmZvcm0gdGhlIHRvb2wgdGhhdCB0aGUgbWFwcGluZ3MgaGF2ZQpjaGFuZ2VkIGlmIHRoZSB0b29s IGRvZXNuJ3Qgd2FudCB0byBmb2xsb3cgc3dpdGNoIGV2ZW50cy4KClVubGVzcyBJJ20gbWlzc2lu ZyBzb21ldGhpbmcsIG1vdmluZyB3aGVyZSB0aGUgdHJhY2UgaWRzIGFyZSBzdG9yZWQKZG9lc24n dCBtZWFuIHRoYXQgdGhleSB3aWxsIGJlIHJlLXNlbnQgd2hlbiB0aGUgbWFwcGluZ3MgY2hhbmdl PwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=