Nicholas Piggin <npig...@gmail.com> writes: > On Thu, 22 Jun 2017 00:08:39 +0530 > "Naveen N. Rao" <naveen.n....@linux.vnet.ibm.com> wrote: > >> Convert some of the symbols into private symbols and blacklist >> system_call_common() and system_call() from kprobes. We can't take a >> trap at parts of these functions as either MSR_RI is unset or the kernel >> stack pointer is not yet setup. >> >> Reviewed-by: Masami Hiramatsu <mhira...@kernel.org> >> Signed-off-by: Naveen N. Rao <naveen.n....@linux.vnet.ibm.com> > > I don't have a problem with this bunch of system call labels > going private. They've never added much for me in profiles. > > Reviewed-by: Nicholas Piggin <npig...@gmail.com> > > Semi-related question, why is system_call: where it is?
Ancient history. We used to have: bne syscall_dotrace syscall_dotrace_cont: cmpldi 0,r0,NR_syscalls bge- syscall_enosys system_call: /* label this so stack traces look sane */ So it was there to hide syscall_dotrace_cont from back traces. But we made syscall_dotrace_cont local in 2012 and then removed it entirely in 2015. > Should we move it up to right after the mtmsrd / wrteei instruction? > (obviously for another patch). It's pretty common to get PMU > interrupts coming in right after mtmsr and this makes profiles split > the syscall into two which is annoying. Move it wherever makes sense and gives good back traces. cheers