All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, tamas.zsoldos@arm.com,
	al.grant@arm.com, leo.yan@linaro.org, mike.leach@linaro.org,
	mathieu.poirier@linaro.org, anshuman.khandual@arm.com,
	jinlmao@qti.qualcomm.com
Subject: Re: [PATCH v2 00/10] coresight: TRBE and Self-Hosted trace fixes
Date: Fri, 23 Jul 2021 14:45:44 +0100	[thread overview]
Message-ID: <78d0f297-52b6-cd8d-1406-e646d5af2898@arm.com> (raw)
In-Reply-To: <20210723124611.3828908-1-suzuki.poulose@arm.com>

On 23/07/2021 13:46, Suzuki K Poulose wrote:
> This series fixes the following issues with the TRBE and Self-Hosted
> trace for CoreSight.
> 
> The Self-hosted trace filter control registers are now save-restored
> across CPU PM event. And more importantly the Trace Filtering is now
> used to control per ETM session (rather than allowing the trace
> throughout the life time of the system). i.e, ETM configuration of
> the given run is used to enforce trace filtering (TRFCR) along with the
> Trace Exclusion controls in TRCVICTLR.
> 
> For the TRBE, we were using the TRUNCATED flag in the AUX buffer on
> every IRQ to indicate that we may have lost a few bytes of trace. But
> this causes the event to be disabled until the userspace re-enables
> it back, even when there is space left in the ring buffer. To make
> things worse, we were restarting the AUX handle, which would soon
> be disabled, potentially creating 0 sized records (without truncation),
> which the perf tool tends to ignore. This might cause the event to be
> disabled permanently. Also, sometimes we leave the buffer TRUNCATED,
> but delay the closing of the handle to event schedule out, which could
> cause significant black out in the trace capture. This was reported
> by Tamas Zsoldos.
> 
> This series removes the use of TRUNCATED flag for every IRQ. Instead,
> it is only used if we really run out of space in the buffer. And also
> we make sure the "handle" is closed immediately on TRUNCATED case,
> which triggers the userspace to take action. The core perf layer has
> been hardened to handle this case where a "handle" is closed out.
> Finally, we make sure that the CPU trace is prohibited, when the TRBE
> is left disabled. The ETE/ETM driver will program the Trace Filtering
> appropriately since we do this dynamically now with the first half
> of the series.
> 
> 

The series is also available here :

https://git.gitlab.arm.com/linux-arm/linux-skp.git 
coresight/trbe-self-hosted-fixes/v2

Suzuki

WARNING: multiple messages have this Message-ID (diff)
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, tamas.zsoldos@arm.com,
	al.grant@arm.com, leo.yan@linaro.org, mike.leach@linaro.org,
	mathieu.poirier@linaro.org, anshuman.khandual@arm.com,
	jinlmao@qti.qualcomm.com
Subject: Re: [PATCH v2 00/10] coresight: TRBE and Self-Hosted trace fixes
Date: Fri, 23 Jul 2021 14:45:44 +0100	[thread overview]
Message-ID: <78d0f297-52b6-cd8d-1406-e646d5af2898@arm.com> (raw)
In-Reply-To: <20210723124611.3828908-1-suzuki.poulose@arm.com>

On 23/07/2021 13:46, Suzuki K Poulose wrote:
> This series fixes the following issues with the TRBE and Self-Hosted
> trace for CoreSight.
> 
> The Self-hosted trace filter control registers are now save-restored
> across CPU PM event. And more importantly the Trace Filtering is now
> used to control per ETM session (rather than allowing the trace
> throughout the life time of the system). i.e, ETM configuration of
> the given run is used to enforce trace filtering (TRFCR) along with the
> Trace Exclusion controls in TRCVICTLR.
> 
> For the TRBE, we were using the TRUNCATED flag in the AUX buffer on
> every IRQ to indicate that we may have lost a few bytes of trace. But
> this causes the event to be disabled until the userspace re-enables
> it back, even when there is space left in the ring buffer. To make
> things worse, we were restarting the AUX handle, which would soon
> be disabled, potentially creating 0 sized records (without truncation),
> which the perf tool tends to ignore. This might cause the event to be
> disabled permanently. Also, sometimes we leave the buffer TRUNCATED,
> but delay the closing of the handle to event schedule out, which could
> cause significant black out in the trace capture. This was reported
> by Tamas Zsoldos.
> 
> This series removes the use of TRUNCATED flag for every IRQ. Instead,
> it is only used if we really run out of space in the buffer. And also
> we make sure the "handle" is closed immediately on TRUNCATED case,
> which triggers the userspace to take action. The core perf layer has
> been hardened to handle this case where a "handle" is closed out.
> Finally, we make sure that the CPU trace is prohibited, when the TRBE
> is left disabled. The ETE/ETM driver will program the Trace Filtering
> appropriately since we do this dynamically now with the first half
> of the series.
> 
> 

The series is also available here :

https://git.gitlab.arm.com/linux-arm/linux-skp.git 
coresight/trbe-self-hosted-fixes/v2

Suzuki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-07-23 13:45 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-23 12:46 [PATCH v2 00/10] coresight: TRBE and Self-Hosted trace fixes Suzuki K Poulose
2021-07-23 12:46 ` Suzuki K Poulose
2021-07-23 12:46 ` [PATCH v2 01/10] coresight: etm4x: Save restore TRFCR_EL1 Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  3:05   ` Anshuman Khandual
2021-07-30  3:05     ` Anshuman Khandual
2021-07-23 12:46 ` [PATCH v2 02/10] coresight: etm4x: Use Trace Filtering controls dynamically Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  3:48   ` Anshuman Khandual
2021-07-30  3:48     ` Anshuman Khandual
2021-07-30 11:29     ` Suzuki K Poulose
2021-07-30 11:29       ` Suzuki K Poulose
2021-07-23 12:46 ` [PATCH v2 03/10] coresight: etm-pmu: Ensure the AUX handle is valid Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  4:14   ` Anshuman Khandual
2021-07-30  4:14     ` Anshuman Khandual
2021-07-23 12:46 ` [PATCH v2 04/10] coresight: trbe: Ensure the format flag is set on truncation Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  4:26   ` Anshuman Khandual
2021-07-30  4:26     ` Anshuman Khandual
2021-07-30 11:37     ` Suzuki K Poulose
2021-07-30 11:37       ` Suzuki K Poulose
2021-07-23 12:46 ` [PATCH v2 05/10] coresight: trbe: Drop duplicate TRUNCATE flags Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  4:47   ` Anshuman Khandual
2021-07-30  4:47     ` Anshuman Khandual
2021-07-30 12:58     ` Suzuki K Poulose
2021-07-30 12:58       ` Suzuki K Poulose
2021-07-23 12:46 ` [PATCH v2 06/10] coresight: trbe: Fix handling of spurious interrupts Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  5:15   ` Anshuman Khandual
2021-07-30  5:15     ` Anshuman Khandual
2021-07-30 12:57     ` Suzuki K Poulose
2021-07-30 12:57       ` Suzuki K Poulose
2021-07-23 12:46 ` [PATCH v2 07/10] coresight: trbe: Do not truncate buffer on IRQ Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-26 12:34   ` Mike Leach
2021-07-26 12:34     ` Mike Leach
2021-07-26 16:01     ` Suzuki K Poulose
2021-07-26 16:01       ` Suzuki K Poulose
2021-07-27 10:46       ` Mike Leach
2021-07-27 10:46         ` Mike Leach
2021-07-27 13:06         ` Suzuki K Poulose
2021-07-27 13:06           ` Suzuki K Poulose
2021-07-28  9:25           ` Suzuki K Poulose
2021-07-28  9:25             ` Suzuki K Poulose
2021-07-23 12:46 ` [PATCH v2 08/10] coresight: trbe: Unify the enabling sequence Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  5:40   ` Anshuman Khandual
2021-07-30  5:40     ` Anshuman Khandual
2021-07-23 12:46 ` [PATCH v2 09/10] coresight: trbe: End the AUX handle on truncation Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  5:54   ` Anshuman Khandual
2021-07-30  5:54     ` Anshuman Khandual
2021-07-23 12:46 ` [PATCH v2 10/10] coresight: trbe: Prohibit trace before disabling TRBE Suzuki K Poulose
2021-07-23 12:46   ` Suzuki K Poulose
2021-07-30  6:58   ` Anshuman Khandual
2021-07-30  6:58     ` Anshuman Khandual
2021-07-23 13:45 ` Suzuki K Poulose [this message]
2021-07-23 13:45   ` [PATCH v2 00/10] coresight: TRBE and Self-Hosted trace fixes Suzuki K Poulose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=78d0f297-52b6-cd8d-1406-e646d5af2898@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=al.grant@arm.com \
    --cc=anshuman.khandual@arm.com \
    --cc=coresight@lists.linaro.org \
    --cc=jinlmao@qti.qualcomm.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.org \
    --cc=tamas.zsoldos@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.