Em Thu, May 10, 2018 at 05:15:42PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, May 10, 2018 at 07:08:37PM +0000, Hunter, Adrian escreveu:
> > > -----Original Message-----
> > > From: Arnaldo Carvalho de Melo [mailto:[email protected]]
> > > Sent: Wednesday, May 9, 2018 8:07 PM
> > > To: Hunter, Adrian <[email protected]>
> > > Cc: Thomas Gleixner <[email protected]>; Ingo Molnar
> > > <[email protected]>; Peter Zijlstra <[email protected]>; Andy
> > > Lutomirski <[email protected]>; H. Peter Anvin <[email protected]>; Andi Kleen
> > > <[email protected]>; Alexander Shishkin
> > > <[email protected]>; Dave Hansen
> > > <[email protected]>; Joerg Roedel <[email protected]>; Jiri Olsa
> > > <[email protected]>; [email protected]; [email protected]
> > > Subject: Re: [PATCH RFC 07/19] perf tools: Workaround missing maps for
> > > x86_64 KPTI entry trampolines
> > > 
> > > Em Wed, May 09, 2018 at 02:43:36PM +0300, Adrian Hunter escreveu:
> > > > On x86_64 the KPTI entry trampolines are not in the kernel map created
> > > > by perf tools. That results in the addresses having no symbols and
> > > > prevents annotation. It also causes Intel PT to have decoding errors
> > > > at the trampoline addresses. Workaround that by creating maps for the
> > > trampolines.
> > > > At present the kernel does not export information revealing where the
> > > > trampolines are. Until that happens, the addresses are hardcoded.
> > > >
> > > > Signed-off-by: Adrian Hunter <[email protected]>
> > > > ---
> > > >  tools/perf/util/machine.c | 104
> > > ++++++++++++++++++++++++++++++++++++++++++++++
> > > >  tools/perf/util/machine.h |   3 ++
> > > >  tools/perf/util/symbol.c  |  12 +++---
> > > >  3 files changed, 114 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> > > > index 22047ff3cf2a..1bf15aa0b099 100644
> > > > --- a/tools/perf/util/machine.c
> > > > +++ b/tools/perf/util/machine.c
> > > > @@ -851,6 +851,110 @@ static int
> > > machine__get_running_kernel_start(struct machine *machine,
> > > >         return 0;
> > > >  }
> > > >
> > > > +struct special_kernal_map {
> > > 
> > > s/kernal/kernel/
> > > 
> > > And "special"?
> > 
> > I have added comment:
> > 
> > /* Kernel-space maps that are not the main kernel map nor a module map */
> 
> Perhaps:
> 
>   /* Kernel-space maps for symbols that are outside the main kernel map and 
> module maps */
> 
>   struct extra_kernel_map;
> 
> What do you think?
> 
> > And fixed kernal, and changed machine__is()
> 
> Thanks
>  
> > Revised patch set is here:
> > 
> >     
> > http://git.infradead.org/users/ahunter/linux-perf.git/shortlog/refs/heads/perf-tools-kpti
> > 
> > which is the perf-tools-kpti branch of:
> > 
> >     git://git.infradead.org/users/ahunter/linux-perf.git
> > 
> > Let me know if you want me to post the workaround patches separately,
> > otherwise I will wait a bit before sending the patches again.
> 
> I'll see if I went thru all of the patches already...

So I looked at the patches posted and one comment is about the terse
commit logs for some of the kcore_copy patches, for instance:

--------------------
 In preparation to add more program headers, get rid of kernel_map and
modules_map.
--------------------

Can't this be made a bit more verbose? Lemme re-read the patch...

- Arnaldo

Reply via email to