All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Clark <james.clark@arm.com>
To: Will Deacon <will@kernel.org>, German Gomez <german.gomez@arm.com>
Cc: Leo Yan <leo.yan@linaro.org>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	John Garry <john.garry@huawei.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Mike Leach <mike.leach@linaro.org>,
	linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org
Subject: Re: [PATCH 4/5] perf arm-spe: Implement find_snapshot callback
Date: Tue, 12 Oct 2021 09:47:27 +0100	[thread overview]
Message-ID: <55f8978f-e656-5d5f-94e2-f4be4a70656d@arm.com> (raw)
In-Reply-To: <20211012081948.GA5156@willie-the-truck>



On 12/10/2021 09:19, Will Deacon wrote:
> On Mon, Oct 11, 2021 at 04:55:37PM +0100, German Gomez wrote:
>> Hi Leo,
>>
>> On 06/10/2021 10:51, Leo Yan wrote:
>>> On Wed, Oct 06, 2021 at 10:35:20AM +0100, German Gomez wrote:
>>>
>>> [...]
>>>
>>>>> So simply say, I think the head pointer monotonically increasing is
>>>>> the right thing to do in Arm SPE driver.
>>>> I will talk to James about how we can proceed on this.
>>> Thanks!
>>
>> I took this offline with James and, though it looks possible to patch
>> the SPE driver to have a monotonically increasing head pointer in order
>> to simplify the handling in the perf tool, it could be a breaking change
>> for users of the perf_event_open syscall that currently rely on the way
>> it works now.
>>
>> An alternative way we considered to simplify the patch is to change the
>> logic inside the find_snapshot callback so that it records the entire
>> contents of the aux buffer every time.
>>
>> What do you think?
> 
> What does intel-pt do?

Intel-pt has a wrapped head, which is why it has the intel_pt_find_snapshot()
function in perf to try to not save any zeros from the buffer that haven't
been written yet. (With a wrapped head pointer it's impossible to tell).

Coresight has a monotonically increasing head pointer so it is possible to
tell. Recently, Leo removed the Coresight version of find_snapshot() for this
reason.

It would be nice to do the same for SPE because that function has a heuristic
and is also slow, but I imagine that not returning wrapped head pointers could
break anything that expects them.

James
 
> 
> Will
> 

WARNING: multiple messages have this Message-ID (diff)
From: James Clark <james.clark@arm.com>
To: Will Deacon <will@kernel.org>, German Gomez <german.gomez@arm.com>
Cc: Leo Yan <leo.yan@linaro.org>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	John Garry <john.garry@huawei.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Mike Leach <mike.leach@linaro.org>,
	linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org
Subject: Re: [PATCH 4/5] perf arm-spe: Implement find_snapshot callback
Date: Tue, 12 Oct 2021 09:47:27 +0100	[thread overview]
Message-ID: <55f8978f-e656-5d5f-94e2-f4be4a70656d@arm.com> (raw)
In-Reply-To: <20211012081948.GA5156@willie-the-truck>



On 12/10/2021 09:19, Will Deacon wrote:
> On Mon, Oct 11, 2021 at 04:55:37PM +0100, German Gomez wrote:
>> Hi Leo,
>>
>> On 06/10/2021 10:51, Leo Yan wrote:
>>> On Wed, Oct 06, 2021 at 10:35:20AM +0100, German Gomez wrote:
>>>
>>> [...]
>>>
>>>>> So simply say, I think the head pointer monotonically increasing is
>>>>> the right thing to do in Arm SPE driver.
>>>> I will talk to James about how we can proceed on this.
>>> Thanks!
>>
>> I took this offline with James and, though it looks possible to patch
>> the SPE driver to have a monotonically increasing head pointer in order
>> to simplify the handling in the perf tool, it could be a breaking change
>> for users of the perf_event_open syscall that currently rely on the way
>> it works now.
>>
>> An alternative way we considered to simplify the patch is to change the
>> logic inside the find_snapshot callback so that it records the entire
>> contents of the aux buffer every time.
>>
>> What do you think?
> 
> What does intel-pt do?

Intel-pt has a wrapped head, which is why it has the intel_pt_find_snapshot()
function in perf to try to not save any zeros from the buffer that haven't
been written yet. (With a wrapped head pointer it's impossible to tell).

Coresight has a monotonically increasing head pointer so it is possible to
tell. Recently, Leo removed the Coresight version of find_snapshot() for this
reason.

It would be nice to do the same for SPE because that function has a heuristic
and is also slow, but I imagine that not returning wrapped head pointers could
break anything that expects them.

James
 
> 
> Will
> 

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

  reply	other threads:[~2021-10-12  8:47 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-16 15:46 [PATCH 1/5] perf cs-etm: Print size using consistent format German Gomez
2021-09-16 15:46 ` German Gomez
2021-09-16 15:46 ` [PATCH 2/5] perf arm-spe: " German Gomez
2021-09-16 15:46   ` German Gomez
2021-09-23 13:35   ` Leo Yan
2021-09-23 13:35     ` Leo Yan
2021-09-16 15:46 ` [PATCH 3/5] perf arm-spe: Add snapshot mode support German Gomez
2021-09-16 15:46   ` German Gomez
2021-10-20 12:48   ` Leo Yan
2021-10-20 12:48     ` Leo Yan
2021-09-16 15:46 ` [PATCH 4/5] perf arm-spe: Implement find_snapshot callback German Gomez
2021-09-16 15:46   ` German Gomez
2021-09-23 13:50   ` Leo Yan
2021-09-23 13:50     ` Leo Yan
2021-09-23 14:40     ` Leo Yan
2021-09-23 14:40       ` Leo Yan
2021-09-30 12:26       ` German Gomez
2021-09-30 12:26         ` German Gomez
2021-10-04 12:27         ` Leo Yan
2021-10-04 12:27           ` Leo Yan
2021-10-06  9:35           ` German Gomez
2021-10-06  9:35             ` German Gomez
2021-10-06  9:51             ` Leo Yan
2021-10-06  9:51               ` Leo Yan
2021-10-11 15:55               ` German Gomez
2021-10-11 15:55                 ` German Gomez
2021-10-12  8:19                 ` Will Deacon
2021-10-12  8:19                   ` Will Deacon
2021-10-12  8:47                   ` James Clark [this message]
2021-10-12  8:47                     ` James Clark
2021-10-13  0:39                 ` Leo Yan
2021-10-13  0:39                   ` Leo Yan
2021-10-13  7:51                   ` Will Deacon
2021-10-13  7:51                     ` Will Deacon
2021-10-15 12:33                     ` German Gomez
2021-10-15 12:33                       ` German Gomez
2021-10-15 14:16                       ` Leo Yan
2021-10-15 14:16                         ` Leo Yan
2021-10-15 14:41                         ` German Gomez
2021-10-15 14:41                           ` German Gomez
2021-10-17  6:13                       ` Leo Yan
2021-10-17  6:13                         ` Leo Yan
2021-10-19  9:23                         ` German Gomez
2021-10-19  9:23                           ` German Gomez
2021-10-19 13:12                           ` Leo Yan
2021-10-19 13:12                             ` Leo Yan
2021-11-02 11:02                         ` German Gomez
2021-11-02 11:02                           ` German Gomez
2021-10-17 12:05   ` Leo Yan
2021-10-17 12:05     ` Leo Yan
2021-10-17 12:36     ` Leo Yan
2021-10-17 12:36       ` Leo Yan
2021-10-19 17:34     ` German Gomez
2021-10-19 17:34       ` German Gomez
2021-10-20 13:25       ` Leo Yan
2021-10-20 13:25         ` Leo Yan
2021-09-16 15:46 ` [PATCH 5/5] perf arm-spe: Snapshot mode test German Gomez
2021-09-16 15:46   ` German Gomez
2021-10-20 13:13   ` Leo Yan
2021-10-20 13:13     ` Leo Yan
2021-10-20 15:06     ` German Gomez
2021-10-20 15:06       ` German Gomez
2021-11-02 14:07     ` James Clark
2021-11-02 14:07       ` James Clark
2021-11-02 15:37       ` James Clark
2021-11-02 15:37         ` James Clark
2021-11-09 13:26         ` German Gomez
2021-11-09 13:26           ` German Gomez
2021-09-23 13:35 ` [PATCH 1/5] perf cs-etm: Print size using consistent format Leo Yan
2021-09-23 13:35   ` Leo Yan
2021-09-23 16:24 ` Mathieu Poirier
2021-09-23 16:24   ` Mathieu Poirier
2021-09-30 12:09   ` German Gomez
2021-09-30 12:09     ` German Gomez
2021-09-30 16:30     ` Mathieu Poirier
2021-09-30 16:30       ` Mathieu Poirier

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=55f8978f-e656-5d5f-94e2-f4be4a70656d@arm.com \
    --to=james.clark@arm.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=coresight@lists.linaro.org \
    --cc=german.gomez@arm.com \
    --cc=john.garry@huawei.com \
    --cc=jolsa@redhat.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.org \
    --cc=namhyung@kernel.org \
    --cc=will@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.