From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] perf: qcom_l2: fix column exclusion check
Date: Tue, 25 Jul 2017 18:01:06 +0100 [thread overview]
Message-ID: <20170725170105.GF12749@leverpostej> (raw)
In-Reply-To: <1500931022-21000-1-git-send-email-nleeder@codeaurora.org>
On Mon, Jul 24, 2017 at 05:17:02PM -0400, Neil Leeder wrote:
> The check for column exclusion did not verify that the event being
> checked was an L2 event, and not a software event.
> Software events should not be checked for column exclusion.
> This resulted in a group with both software and L2 events sometimes
> incorrectly rejecting the L2 event for column exclusion and
> not counting it.
>
> Add a check for PMU type before applying column exclusion logic.
>
> Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
This looks correct, so:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Should this have:
Fixes: 21bdbb7102edeaeb ("perf: add qcom l2 cache perf events driver")
... ?
> ---
> drivers/perf/qcom_l2_pmu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/perf/qcom_l2_pmu.c b/drivers/perf/qcom_l2_pmu.c
> index c259848..b242cce 100644
> --- a/drivers/perf/qcom_l2_pmu.c
> +++ b/drivers/perf/qcom_l2_pmu.c
> @@ -546,6 +546,7 @@ static int l2_cache_event_init(struct perf_event *event)
> }
>
> if ((event != event->group_leader) &&
> + !is_software_event(event->group_leader) &&
> (L2_EVT_GROUP(event->group_leader->attr.config) ==
> L2_EVT_GROUP(event->attr.config))) {
> dev_dbg_ratelimited(&l2cache_pmu->pdev->dev,
> @@ -558,6 +559,7 @@ static int l2_cache_event_init(struct perf_event *event)
> list_for_each_entry(sibling, &event->group_leader->sibling_list,
> group_entry) {
> if ((sibling != event) &&
> + !is_software_event(sibling) &&
> (L2_EVT_GROUP(sibling->attr.config) ==
> L2_EVT_GROUP(event->attr.config))) {
> dev_dbg_ratelimited(&l2cache_pmu->pdev->dev,
It's unfortunate that we duplicate the checks for the leader and
siblings, but that's not a new problem, and we can fix that in a
follow-up patch.
Thanks,
Mark.
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Neil Leeder <nleeder@codeaurora.org>
Cc: Will Deacon <will.deacon@arm.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Mark Langsdorf <mlangsdo@redhat.com>,
Mark Salter <msalter@redhat.com>, Jon Masters <jcm@redhat.com>,
Timur Tabi <timur@codeaurora.org>,
Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH] perf: qcom_l2: fix column exclusion check
Date: Tue, 25 Jul 2017 18:01:06 +0100 [thread overview]
Message-ID: <20170725170105.GF12749@leverpostej> (raw)
In-Reply-To: <1500931022-21000-1-git-send-email-nleeder@codeaurora.org>
On Mon, Jul 24, 2017 at 05:17:02PM -0400, Neil Leeder wrote:
> The check for column exclusion did not verify that the event being
> checked was an L2 event, and not a software event.
> Software events should not be checked for column exclusion.
> This resulted in a group with both software and L2 events sometimes
> incorrectly rejecting the L2 event for column exclusion and
> not counting it.
>
> Add a check for PMU type before applying column exclusion logic.
>
> Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
This looks correct, so:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Should this have:
Fixes: 21bdbb7102edeaeb ("perf: add qcom l2 cache perf events driver")
... ?
> ---
> drivers/perf/qcom_l2_pmu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/perf/qcom_l2_pmu.c b/drivers/perf/qcom_l2_pmu.c
> index c259848..b242cce 100644
> --- a/drivers/perf/qcom_l2_pmu.c
> +++ b/drivers/perf/qcom_l2_pmu.c
> @@ -546,6 +546,7 @@ static int l2_cache_event_init(struct perf_event *event)
> }
>
> if ((event != event->group_leader) &&
> + !is_software_event(event->group_leader) &&
> (L2_EVT_GROUP(event->group_leader->attr.config) ==
> L2_EVT_GROUP(event->attr.config))) {
> dev_dbg_ratelimited(&l2cache_pmu->pdev->dev,
> @@ -558,6 +559,7 @@ static int l2_cache_event_init(struct perf_event *event)
> list_for_each_entry(sibling, &event->group_leader->sibling_list,
> group_entry) {
> if ((sibling != event) &&
> + !is_software_event(sibling) &&
> (L2_EVT_GROUP(sibling->attr.config) ==
> L2_EVT_GROUP(event->attr.config))) {
> dev_dbg_ratelimited(&l2cache_pmu->pdev->dev,
It's unfortunate that we duplicate the checks for the leader and
siblings, but that's not a new problem, and we can fix that in a
follow-up patch.
Thanks,
Mark.
next prev parent reply other threads:[~2017-07-25 17:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-24 21:17 [PATCH] perf: qcom_l2: fix column exclusion check Neil Leeder
2017-07-24 21:17 ` Neil Leeder
2017-07-25 17:01 ` Mark Rutland [this message]
2017-07-25 17:01 ` Mark Rutland
2017-07-25 19:43 ` Leeder, Neil
2017-07-25 19:43 ` Leeder, Neil
2017-07-26 8:27 ` Will Deacon
2017-07-26 8:27 ` Will Deacon
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=20170725170105.GF12749@leverpostej \
--to=mark.rutland@arm.com \
--cc=linux-arm-kernel@lists.infradead.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.