Thread (16 messages) 16 messages, 5 authors, 2021-02-03

Re: [PATCH 1/3] MIPS: kernel: Support extracting off-line stack traces from user-space with perf

From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2021-01-29 17:59:06
Also in: lkml

Em Wed, Jan 27, 2021 at 10:15:06PM +0100, Thomas Bogendoerfer escreveu:
On Tue, Jan 05, 2021 at 11:18:06AM +0100, Peter Zijlstra wrote:
quoted
On Tue, Jan 05, 2021 at 11:45:37AM +0800, Jiaxun Yang wrote:
quoted
在 2021/1/4 下午6:59, Peter Zijlstra 写道:
quoted
On Tue, Dec 29, 2020 at 08:55:59PM +0800, Tiezhu Yang wrote:
quoted
+u64 perf_reg_abi(struct task_struct *tsk)
+{
+	if (test_tsk_thread_flag(tsk, TIF_32BIT_REGS))
+		return PERF_SAMPLE_REGS_ABI_32;
+	else
+		return PERF_SAMPLE_REGS_ABI_64;
+}
So we recently changed this on x86 to not rely on TIF flags. IIRC the
problem is that on x86 you can change the mode of a task without the
kernel being aware of it. Is something like that possible on MIPS as
well?
Hi all,

In MIPS world it's impossible to raise a thread to 64bit without kernel
aware.
Without STATUS.UX set it will trigger reserved instruction exception when
trying
to run 64bit instructions.
The other way around is the case on x86, a 64bit program can create and
execute 32bit code sections without the kernel being aware. But if
clearing STATUS.UX has the same issue as setting it, that should not be
a problem for you.
quoted
However it may be possible to run with 32bit ABI without
TIF_32BIT_REGS if user program didn't get ELF ABI right. I think
that's out of our current consideration.
Fair enough.
quoted
quoted
The thing x86 does today is look at it's pt_regs state to determine the
actual state.
It is possible to look at pt_regs Status.UX bit on MIPS. But it seems
unnecessary
as user can't change it.
Ok, good. Then no objection, proceed! :-)
this patch aims more to mips-next, while patch 2 and 3 are targeting
tools/perf. Should I take them into mips-next, too ?
I'll process the tools/perf ones, if you took the time to actually
review them, please say so and I'll add a Reviewed-by tag stating that.

I've replied to another message in this thread with reasoning about the
value of processing kernel bits in the relevant arch tree while the
tooling one via my perf/core branch.

- Arnaldo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help