Linux Perf Users
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Matt Turner" <mattst88@gmail.com>
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [PATCH v7 01/14] alpha/perf: do not update an event that has no counter in alpha_pmu_del()
Date: Fri, 06 Nov 2026 04:41:27 +0000	[thread overview]
Message-ID: <sashiko-outbox-200752@kernel.org> (raw)
In-Reply-To: <20261105-alpha-profileme-v7-1-c474e892abb0@gmail.com>

> alpha_pmu_add() puts a new event on the list with current_idx set to
> PMC_NO_INDEX, and alpha_pmu_enable() assigns the counter later, through
> maybe_change_configuration(). Alpha has no group transaction callbacks,
> so the core schedules a group with the PMU disabled for the whole
> group. When a sibling does not fit, for example because the counters
> are multiplexed between groups, group_sched_in() rolls back the events
> it already added by calling alpha_pmu_del() on them, before the PMU is
> enabled again.
> 
> alpha_pmu_del() then passes idx == -1 to alpha_perf_event_update(),
> which indexes pmc_count_shift[], pmc_count_mask[] and pmc_max_period[]
> at -1, and it clears bit -1 of idx_mask, an undefined shift. On the
> EV67 PMU the entries before each array happen to make the computed
> delta zero, so the event's count survives, but only by luck of the
> struct layout.
> 
> The event was never on a counter, so there is no count to absorb and no
> counter to turn off. Only remove it from the list.
> 
> Fixes: 979f867191f8 ("alpha: implement HW performance events on the EV67 and later CPUs")
> Assisted-by: Claude:claude-opus-5-5
> Signed-off-by: Matt Turner <mattst88@gmail.com>

Sashiko has reviewed this patch and found no issues.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261105-alpha-profileme-v7-0-c474e892abb0@gmail.com?part=1


  reply	other threads:[~2026-11-06  4:41 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-06  4:30 [PATCH v7 00/14] alpha/perf: add ProfileMe sampling Matt Turner
2026-11-06  4:30 ` [PATCH v7 01/14] alpha/perf: do not update an event that has no counter in alpha_pmu_del() Matt Turner
2026-11-06  4:41   ` sashiko-bot [this message]
2026-11-06  4:30 ` [PATCH v7 02/14] alpha/perf: pass PERFMON_CMD_LOGGING_ALL to the logging options call Matt Turner
2026-11-06  4:33   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 03/14] alpha/perf: add sysfs format and event attributes Matt Turner
2026-11-06  4:35   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 04/14] alpha/perf: clear PERF_HES_UPTODATE when an event starts counting Matt Turner
2026-11-06  4:39   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 05/14] alpha/perf: do not report user registers from the entry code Matt Turner
2026-11-06  4:46   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 06/14] alpha/perf: ignore overflow interrupts the counter does not account for Matt Turner
2026-11-06  4:54   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 07/14] alpha/perf: implement ProfileMe sampling Matt Turner
2026-11-06  5:06   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 08/14] alpha/perf: attach ProfileMe status as PERF_SAMPLE_RAW data Matt Turner
2026-11-06  5:00   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 09/14] alpha/perf: optionally randomize the ProfileMe sampling interval Matt Turner
2026-11-06  5:06   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 10/14] alpha/perf: report the ProfileMe window count as the sample weight Matt Turner
2026-11-06  5:09   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 11/14] alpha/perf: report the data source of ProfileMe memory accesses Matt Turner
2026-11-06  5:13   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 12/14] alpha/perf: add ProfileMe sample filters Matt Turner
2026-11-06  5:13   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 13/14] alpha/perf: sample only retired instructions for precise events Matt Turner
2026-11-06  5:14   ` sashiko-bot
2026-11-06  4:30 ` [PATCH v7 14/14] alpha/perf: honor exclude_user and exclude_kernel for ProfileMe events Matt Turner
2026-11-06  5:44   ` sashiko-bot

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=sashiko-outbox-200752@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mattst88@gmail.com \
    --cc=sashiko-reviews@lists.linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox