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 05/14] alpha/perf: do not report user registers from the entry code
Date: Fri, 06 Nov 2026 04:46:39 +0000	[thread overview]
Message-ID: <sashiko-outbox-200760@kernel.org> (raw)
In-Reply-To: <20261105-alpha-profileme-v7-5-c474e892abb0@gmail.com>

> perf_get_regs_user() returns task_pt_regs() whenever a sample of a user
> task lands in the kernel. But exception entry runs with interrupts
> enabled, so the sample can land before the entry code has saved the user
> registers. Only the part PALcode pushed is valid then. An interrupt
> taken on the first instruction of entUna, say, pushes its own frame on
> top of PALcode's, which overlaps the rest of the user frame, so r7 and r8
> read as the interrupt's r23 and r24.
> 
> Report no user registers while the interrupted PC is in the entry code.
> Such a sample also gets no user stack dump. The range is all of the entry
> code from entInt to the end of the save in entSys, so it also drops the
> registers of samples that land after they were saved there.
> 
> An interrupt that nests on one taken in the entry code still reads the
> incomplete frame, as its own PC has left the entry code.
> 
> Fixes: 9280e99d87dd ("alpha: add HAVE_PERF_REGS and HAVE_PERF_USER_STACK_DUMP support")
> Assisted-by: Claude:claude-opus-5-5
> Reviewed-by: Magnus Lindholm <linmag7@gmail.com>
> Tested-by: Magnus Lindholm <linmag7@gmail.com>
> 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=5


  reply	other threads:[~2026-11-06  4:46 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
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 [this message]
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-200760@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