All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: Leo Yan <leo.yan@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>,
	James Clark <james.clark@linaro.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 5/8] coresight: etm: Add an attribute for updating buffer
Date: Mon, 10 Mar 2025 16:37:44 +0000	[thread overview]
Message-ID: <3f4354e7-e74b-4ce9-b0c7-4be103cbc94d@arm.com> (raw)
In-Reply-To: <20250310155015.GG9682@e132581.arm.com>

On 10/03/2025 15:50, Leo Yan wrote:
> On Mon, Mar 10, 2025 at 01:29:26PM +0000, Suzuki Kuruppassery Poulose wrote:
>> Hi Leo
>>
>> On 10/03/2025 10:49, Leo Yan wrote:
>>> Add an attribute for updating buffer when the AUX trace is paused.  And
>>> populate the value to the 'update_buf_on_pause' flag during the AUX
>>> setting up.
>>
>> Do we need this attribute in the uAPI ?
> 
> This uAPI allows users to perform AUX pause and resume without the long
> latency caused by copying hardware trace data.
> 
> E.g., a user can specify a large AUX buffer size using option "-m,128M".
> If the buffer is considered large enough to accommodate hardware trace
> data for a small program, the 'update_buf_on_pause' flag can be set to
> false, the copying will be deferred until the end of the perf session.
> 
> I am bias to keep this uAPI.  If you prefer to remove it, I am also
> fine with that.
> 
>> Could we do this by default for
>> sinks without interrupt ? This definitely improves the quality of trace
>> collected for such sinks and the driver can transparently do this.
> 
> How about we dynamically set the default flag in the Perf tool?
> 
> - If users set explictly the 'update_buf_on_pause' flag, then the
>    setting will be respected.
> - If users don't set the flag, perf tool detects it is TRBE sinks,
>    then it can set 'update_buf_on_pause' flag as false.

Not really possible. There could be systems with mixed sinks. e.g.  TRBE
for some CPU and ETR for others (say due to a non-functioning TRBE).

> - If users don't set the flag, perf tool detects it is ETF/ETB/ETR
>    sinks, it sets the flag as true.

And in the cases above, perf event cannot run on all the CPUs, because
some sinks don't support it.

Why do we need a flag, when the effect is not user (read, perf decoder)
  visible and at the same time improves some scenarios (read non-TRBE 
cases) ?

I would say, let the driver always update on pause, depending on the
sink.

Suzuki


> 
> Thanks,
> Leo



  reply	other threads:[~2025-03-10 18:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-10 10:49 [PATCH v2 0/8] Arm CoreSight: Support AUX pause and resume Leo Yan
2025-03-10 10:49 ` [PATCH v2 1/8] coresight: etm4x: Extract the trace unit controlling Leo Yan
2025-03-10 10:57   ` Suzuki K Poulose
2025-03-10 11:59     ` Leo Yan
2025-03-10 10:49 ` [PATCH v2 2/8] coresight: Introduce pause and resume APIs for source Leo Yan
2025-03-10 12:01   ` Suzuki K Poulose
2025-03-10 12:32     ` Leo Yan
2025-03-10 10:49 ` [PATCH v2 3/8] coresight: etm4x: Hook pause and resume callbacks Leo Yan
2025-03-10 10:49 ` [PATCH v2 4/8] coresight: perf: Support AUX trace pause and resume Leo Yan
2025-03-10 10:49 ` [PATCH v2 5/8] coresight: etm: Add an attribute for updating buffer Leo Yan
2025-03-10 13:29   ` Suzuki K Poulose
2025-03-10 15:50     ` Leo Yan
2025-03-10 16:37       ` Suzuki K Poulose [this message]
2025-03-10 18:03         ` Leo Yan
2025-03-10 10:49 ` [PATCH v2 6/8] coresight: perf: Update buffer on AUX pause Leo Yan
2025-03-10 10:49 ` [PATCH v2 7/8] Documentation: coresight: Document AUX pause and resume Leo Yan
2025-03-10 10:49 ` [PATCH v2 8/8] perf cs-etm: Sync kernel coresight-pmu.h header Leo Yan

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=3f4354e7-e74b-4ce9-b0c7-4be103cbc94d@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=acme@redhat.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=corbet@lwn.net \
    --cc=coresight@lists.linaro.org \
    --cc=james.clark@linaro.org \
    --cc=leo.yan@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.leach@linaro.org \
    --cc=namhyung@kernel.org \
    /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.