On Tue, Nov 17, 2020 at 02:43:33PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Nov 17, 2020 at 04:16:51PM +0100, Jiri Olsa escreveu:
> > On Tue, Nov 17, 2020 at 09:44:37AM -0300, Arnaldo Carvalho de Melo wrote:
> > > Em Tue, Nov 17, 2020 at 12:00:42PM +0100, Jiri Olsa escreveu:
> > > > Allow mmap2 event to synthesize kernel image,
> > > > so we can synthesize kernel build id data in
> > > > following changes.
> > > > 
> > > > It's enabled by new symbol_conf.buildid_mmap2
> > > > bool, which will be switched in following
> > > > changes.
> > > 
> > > Why make this an option? MMAP2 goes back years:
> > > 
> > > 13d7a2410fa637f45 (Stephane Eranian         2013-08-21 12:10:24 +0200  
> > > 904)      * The MMAP2 records are an augmented version of MMAP, they add
> > > 13d7a2410fa637f45 (Stephane Eranian         2013-08-21 12:10:24 +0200  
> > > 905)      * maj, min, ino numbers to be used to uniquely identify each 
> > > mapping
> > > 
> > > Also we unconditionally generate MMAP2 events if the kernel supports it,
> > > from evsel__config():
> > > 
> > >   attr->mmap  = track;
> > >   attr->mmap2 = track && !perf_missing_features.mmap2;
> > > 
> > > So perhaps we should reuse that logic? I.e. use mmap2 if the kernel
> > > supports it?
> > 
> > mmap2 itself is not a problem, the problem is the new
> > bit (PERF_RECORD_MISC_MMAP_BUILD_ID) that says there's
> > build id in mmap2.. older perf tool won't understand
> > that and report will crash
> 
> Is this theoretical or have you experienced it?
> 
> Would be good to tweak the perf.data reader code to not crash on unknown
> bits like that :-\
> 
> But by looking at machine__process_mmap2_event() I couldn't imagine how
> that would crash.
> 
> It would get bogus maj, min, ino, ino_generation, but probably that
> wouldn't make it crash.

right, I shouldn't said crash, sry ;-) but bogus values are worse
than that anyway

jirka

Reply via email to