On Tue, Mar 18, 2014 at 03:46:50PM +0100, Jiri Olsa wrote:
> hi,
> this patchset moves thread's map_groups to be dynamically
> allocated and shared within process threads.
> 
> The main benefit would be to be able to look up memory
> map from any thread that belongs to the process.
> 
> This implements one of the solution ideas for issue
> described by Don in following thread:
> http://marc.info/?l=linux-kernel&m=139403876017159&w=2
> 
> RFC changes:
>   - added automated test for thread map groups get/put methods
>   - fix reference count for case described by Namhyung
>   - rename the mmap-events.c test to mmap-thread-lookup.c
>   - added PROT_EXEC to mmap call in tests/mmap-thread-lookup.c
>     as it's not implied by default on all archs (Namhyung)
>   - lazy mg allocation in thread__find_addr_map (Namhyung)
>   - fix compilation failures (Arnaldo)
> 
> also available in here:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
>   perf/core_mmaps

I ran this patchset through my multi-threaded java test (SPECJBB) and saw
no issues.  The threads seemed to have matched with their pids properly.
I even took an old perf.data file (with old synthesized mmap2 events using
pids) and the tids from the samples matched the pids correctly (for what
it is worth).

So I will add my 

Tested-by: Don Zickus <dzic...@redhat.com>


I don't know the code well enough to know if it is right or not, but my
quick review didn't see anything wrong.

Cheers,
Don

> 
> thanks,
> jirka
> 
> 
> Signed-off-by: Jiri Olsa <jo...@redhat.com>
> Cc: Don Zickus <dzic...@redhat.com>
> Cc: Corey Ashford <cjash...@linux.vnet.ibm.com>
> Cc: David Ahern <dsah...@gmail.com>
> Cc: Frederic Weisbecker <fweis...@gmail.com>
> Cc: Ingo Molnar <mi...@kernel.org>
> Cc: Namhyung Kim <namhy...@kernel.org>
> Cc: Paul Mackerras <pau...@samba.org>
> Cc: Peter Zijlstra <a.p.zijls...@chello.nl>
> Cc: Arnaldo Carvalho de Melo <a...@ghostprotocols.net>
> ---
> Jiri Olsa (6):
>       perf tests: Add thread maps lookup automated tests
>       perf tools: Remove thread__find_map function
>       perf tools: Allocate thread map_groups dynamically
>       perf tools: Add machine pointer into thread struct
>       perf tools: Share process map groups within process threads
>       perf tests: Add map groups sharing with thread object test
> 
>  tools/perf/Makefile.perf                 |   2 +
>  tools/perf/arch/x86/tests/dwarf-unwind.c |   9 +++-
>  tools/perf/perf.h                        |   6 +++
>  tools/perf/tests/builtin-test.c          |   8 ++++
>  tools/perf/tests/mmap-thread-lookup.c    | 233 
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  tools/perf/tests/tests.h                 |   2 +
>  tools/perf/tests/thread-mg-share.c       | 110 
> +++++++++++++++++++++++++++++++++++++++++++
>  tools/perf/ui/stdio/hist.c               |   9 +++-
>  tools/perf/util/event.c                  |  10 +++-
>  tools/perf/util/machine.c                |   8 ++--
>  tools/perf/util/map.h                    |   3 +-
>  tools/perf/util/thread.c                 | 120 
> +++++++++++++++++++++++++++++++++++++++++-----
>  tools/perf/util/thread.h                 |  19 ++++----
>  13 files changed, 508 insertions(+), 31 deletions(-)
>  create mode 100644 tools/perf/tests/mmap-thread-lookup.c
>  create mode 100644 tools/perf/tests/thread-mg-share.c
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to