Em Thu, Aug 15, 2019 at 04:10:35PM +0200, Jiri Olsa escreveu: > On Thu, Aug 15, 2019 at 11:01:45AM +0100, John Keeping wrote: > > Commit e5adfc3e7e77 ("perf map: Synthesize maps only for thread group > > leader") changed the recording side so that we no longer get mmap events > > for threads other than the thread group leader (when synthesising these > > events for threads which exist before perf is started). > > > > When a file recorded after this change is loaded, the lack of mmap > > records mean that unwinding is not set up for any other threads. > > > > This can be seen in a simple record/report scenario: > > > > perf record --call-graph=dwarf -t $TID > > perf report > > > > If $TID is a process ID then the report will show call graphs, but if > > $TID is a secondary thread the output is as if --call-graph=none was > > specified. > > great, mucch clearler now > > > > > Following the rationale in that commit, move the libunwind fields into > > struct map_groups and update the libunwind functions to take this > > instead of the struct thread. This is only required for > > unwind__finish_access which must now be called from map_groups__delete > > and the others are changed for symmetry. > > > > Note that unwind__get_entries keeps the thread argument since it is > > required for symbol lookup and the libdw unwind provider uses the thread > > ID. > > > > Fixes: e5adfc3e7e77 ("perf map: Synthesize maps only for thread group > > leader") > > for all 3 patches > > Reviewed-by: Jiri Olsa <jo...@kernel.org>
Thanks, applied. - Arnaldo