linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] Porting perf to Android
@ 2012-08-28 21:58 Irina Tirdea
  2012-08-30 17:19 ` Namhyung Kim
  0 siblings, 1 reply; 3+ messages in thread
From: Irina Tirdea @ 2012-08-28 21:58 UTC (permalink / raw)
  To: Steven Rostedt, Arnaldo Carvalho de Melo, Ingo Molnar
  Cc: LKML, Namhyung Kim, Peter Zijlstra, Frederic Weisbecker

Hi,

This is a set of patches to port perf to Android.
My approach is to include missing functions in Android (like getline,
getsid, etc). I am currently working on upstreaming these to Google.
With the missing functionality added to bionic, this compiles on latest
Android tree (JellyBean). This will make perf compile, but there are still
fixes needed at runtime which I am currently working on.

I have seen that another patch that ports perf to Android was recently
submitted to this list. The approach is different and there are also
changes that do not overlap. If the other patch will be merged first, I
will rebase my work on top of it.

Thank you,
Irina

--

Irina Tirdea (13):
  perf tools: include wrapper for magic.h
  perf tools: update types definitions for Android
  perf tools: drop asm/byteorder.h wrapper
  perf tools: include __WORDSIZE definition
  perf tools: fix ALIGN redefinition in system headers
  perf tools: include basename for non-glibc systems
  perf tools: fix missing winsize definition
  perf tools: Use __maybe_used for unused variables
  perf tools: include missing pthread.h header
  perf tools: fix non-void function without return statement
  perf tools: replace mempcpy with memcpy
  perf tools: replace on_exit with atexit
  perf tools: replace mkostemp with mkstemp

 tools/perf/Makefile                      |    2 +-
 tools/perf/bench/bench.h                 |    2 +-
 tools/perf/bench/mem-memcpy.c            |    2 +-
 tools/perf/bench/mem-memset.c            |    2 +-
 tools/perf/bench/sched-messaging.c       |    2 +-
 tools/perf/bench/sched-pipe.c            |    4 +-
 tools/perf/builtin-annotate.c            |    2 +-
 tools/perf/builtin-bench.c               |    2 +-
 tools/perf/builtin-buildid-cache.c       |    6 +--
 tools/perf/builtin-buildid-list.c        |    2 +-
 tools/perf/builtin-diff.c                |    4 +-
 tools/perf/builtin-evlist.c              |    2 +-
 tools/perf/builtin-help.c                |    2 +-
 tools/perf/builtin-inject.c              |   20 +++----
 tools/perf/builtin-kmem.c                |   20 +++----
 tools/perf/builtin-kvm.c                 |    2 +-
 tools/perf/builtin-list.c                |    2 +-
 tools/perf/builtin-lock.c                |    4 +-
 tools/perf/builtin-probe.c               |   24 ++++-----
 tools/perf/builtin-record.c              |   24 +++++----
 tools/perf/builtin-report.c              |   10 ++--
 tools/perf/builtin-sched.c               |   64 +++++++++++------------
 tools/perf/builtin-script.c              |   16 +++---
 tools/perf/builtin-stat.c                |   24 ++++-----
 tools/perf/builtin-test.c                |    6 +--
 tools/perf/builtin-timechart.c           |   28 +++++-----
 tools/perf/builtin-top.c                 |    6 +--
 tools/perf/perf.c                        |    1 +
 tools/perf/ui/browser.c                  |    6 +--
 tools/perf/ui/browsers/annotate.c        |    4 +-
 tools/perf/ui/gtk/browser.c              |    4 +-
 tools/perf/ui/gtk/setup.c                |    2 +-
 tools/perf/ui/gtk/util.c                 |    4 +-
 tools/perf/ui/helpline.c                 |    2 +-
 tools/perf/ui/helpline.h                 |    8 +--
 tools/perf/ui/tui/setup.c                |    4 +-
 tools/perf/util/alias.c                  |    2 +-
 tools/perf/util/annotate.c               |    6 +--
 tools/perf/util/annotate.h               |   13 ++---
 tools/perf/util/build-id.c               |   10 ++--
 tools/perf/util/cache.h                  |    6 +--
 tools/perf/util/callchain.c              |    6 +--
 tools/perf/util/cgroup.c                 |    4 +-
 tools/perf/util/config.c                 |    4 +-
 tools/perf/util/debug.h                  |    8 +--
 tools/perf/util/dso-test-data.c          |    2 +-
 tools/perf/util/event.c                  |   28 +++++-----
 tools/perf/util/event.h                  |    2 +-
 tools/perf/util/header.c                 |   84
+++++++++++++++---------------
 tools/perf/util/help.c                   |    3 +-
 tools/perf/util/hist.c                   |    2 +-
 tools/perf/util/hist.h                   |   30 +++++------
 tools/perf/util/include/asm/byteorder.h  |    2 -
 tools/perf/util/include/asm/swab.h       |    2 +-
 tools/perf/util/include/linux/bitops.h   |    9 ++++
 tools/perf/util/include/linux/compiler.h |    6 ++-
 tools/perf/util/include/linux/kernel.h   |   15 +++++-
 tools/perf/util/include/linux/magic.h    |   12 +++++
 tools/perf/util/include/linux/types.h    |   15 ++++++
 tools/perf/util/intlist.c                |    6 +--
 tools/perf/util/map.h                    |    2 +-
 tools/perf/util/parse-events-test.c      |    6 +--
 tools/perf/util/parse-events.c           |    6 +--
 tools/perf/util/parse-events.l           |    3 +-
 tools/perf/util/parse-events.y           |    4 +-
 tools/perf/util/parse-options.c          |    2 +-
 tools/perf/util/perf_regs.h              |    2 +-
 tools/perf/util/pmu.y                    |    6 +--
 tools/perf/util/probe-finder.c           |    4 +-
 tools/perf/util/python.c                 |    6 +--
 tools/perf/util/session.c                |   50 +++++++++---------
 tools/perf/util/sort.c                   |   10 ++--
 tools/perf/util/symbol-minimal.c         |   24 ++++-----
 tools/perf/util/symbol.c                 |    4 +-
 tools/perf/util/symbol.h                 |    9 ++--
 tools/perf/util/target.c                 |    4 +-
 tools/perf/util/top.h                    |    1 +
 tools/perf/util/unwind.c                 |   32 ++++++------
 tools/perf/util/unwind.h                 |   10 ++--
 tools/perf/util/util.h                   |    3 +-
 tools/perf/util/wrapper.c                |    2 +-
 81 files changed, 424 insertions(+), 362 deletions(-)
 delete mode 100644 tools/perf/util/include/asm/byteorder.h
 create mode 100644 tools/perf/util/include/linux/magic.h

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 00/13] Porting perf to Android
  2012-08-28 21:58 [PATCH 00/13] Porting perf to Android Irina Tirdea
@ 2012-08-30 17:19 ` Namhyung Kim
  2012-09-02 21:21   ` Irina Tirdea
  0 siblings, 1 reply; 3+ messages in thread
From: Namhyung Kim @ 2012-08-30 17:19 UTC (permalink / raw)
  To: Irina Tirdea
  Cc: Steven Rostedt, Arnaldo Carvalho de Melo, Ingo Molnar, LKML,
	Peter Zijlstra, Frederic Weisbecker

Irina Tirdea <irina.tirdea@gmail.com> writes:

> Hi,
>
> This is a set of patches to port perf to Android.
> My approach is to include missing functions in Android (like getline,
> getsid, etc). I am currently working on upstreaming these to Google.
> With the missing functionality added to bionic, this compiles on latest
> Android tree (JellyBean). This will make perf compile, but there are still
> fixes needed at runtime which I am currently working on.

Yeah, I guess the callchain part which uses TLS is the one of them. Do
you have an idea how to deal with it?

Thanks,
Namhyung


>
> I have seen that another patch that ports perf to Android was recently
> submitted to this list. The approach is different and there are also
> changes that do not overlap. If the other patch will be merged first, I
> will rebase my work on top of it.
>
> Thank you,
> Irina
>
> --
>
> Irina Tirdea (13):
>   perf tools: include wrapper for magic.h
>   perf tools: update types definitions for Android
>   perf tools: drop asm/byteorder.h wrapper
>   perf tools: include __WORDSIZE definition
>   perf tools: fix ALIGN redefinition in system headers
>   perf tools: include basename for non-glibc systems
>   perf tools: fix missing winsize definition
>   perf tools: Use __maybe_used for unused variables
>   perf tools: include missing pthread.h header
>   perf tools: fix non-void function without return statement
>   perf tools: replace mempcpy with memcpy
>   perf tools: replace on_exit with atexit
>   perf tools: replace mkostemp with mkstemp
>
>  tools/perf/Makefile                      |    2 +-
>  tools/perf/bench/bench.h                 |    2 +-
>  tools/perf/bench/mem-memcpy.c            |    2 +-
>  tools/perf/bench/mem-memset.c            |    2 +-
>  tools/perf/bench/sched-messaging.c       |    2 +-
>  tools/perf/bench/sched-pipe.c            |    4 +-
>  tools/perf/builtin-annotate.c            |    2 +-
>  tools/perf/builtin-bench.c               |    2 +-
>  tools/perf/builtin-buildid-cache.c       |    6 +--
>  tools/perf/builtin-buildid-list.c        |    2 +-
>  tools/perf/builtin-diff.c                |    4 +-
>  tools/perf/builtin-evlist.c              |    2 +-
>  tools/perf/builtin-help.c                |    2 +-
>  tools/perf/builtin-inject.c              |   20 +++----
>  tools/perf/builtin-kmem.c                |   20 +++----
>  tools/perf/builtin-kvm.c                 |    2 +-
>  tools/perf/builtin-list.c                |    2 +-
>  tools/perf/builtin-lock.c                |    4 +-
>  tools/perf/builtin-probe.c               |   24 ++++-----
>  tools/perf/builtin-record.c              |   24 +++++----
>  tools/perf/builtin-report.c              |   10 ++--
>  tools/perf/builtin-sched.c               |   64 +++++++++++------------
>  tools/perf/builtin-script.c              |   16 +++---
>  tools/perf/builtin-stat.c                |   24 ++++-----
>  tools/perf/builtin-test.c                |    6 +--
>  tools/perf/builtin-timechart.c           |   28 +++++-----
>  tools/perf/builtin-top.c                 |    6 +--
>  tools/perf/perf.c                        |    1 +
>  tools/perf/ui/browser.c                  |    6 +--
>  tools/perf/ui/browsers/annotate.c        |    4 +-
>  tools/perf/ui/gtk/browser.c              |    4 +-
>  tools/perf/ui/gtk/setup.c                |    2 +-
>  tools/perf/ui/gtk/util.c                 |    4 +-
>  tools/perf/ui/helpline.c                 |    2 +-
>  tools/perf/ui/helpline.h                 |    8 +--
>  tools/perf/ui/tui/setup.c                |    4 +-
>  tools/perf/util/alias.c                  |    2 +-
>  tools/perf/util/annotate.c               |    6 +--
>  tools/perf/util/annotate.h               |   13 ++---
>  tools/perf/util/build-id.c               |   10 ++--
>  tools/perf/util/cache.h                  |    6 +--
>  tools/perf/util/callchain.c              |    6 +--
>  tools/perf/util/cgroup.c                 |    4 +-
>  tools/perf/util/config.c                 |    4 +-
>  tools/perf/util/debug.h                  |    8 +--
>  tools/perf/util/dso-test-data.c          |    2 +-
>  tools/perf/util/event.c                  |   28 +++++-----
>  tools/perf/util/event.h                  |    2 +-
>  tools/perf/util/header.c                 |   84
> +++++++++++++++---------------
>  tools/perf/util/help.c                   |    3 +-
>  tools/perf/util/hist.c                   |    2 +-
>  tools/perf/util/hist.h                   |   30 +++++------
>  tools/perf/util/include/asm/byteorder.h  |    2 -
>  tools/perf/util/include/asm/swab.h       |    2 +-
>  tools/perf/util/include/linux/bitops.h   |    9 ++++
>  tools/perf/util/include/linux/compiler.h |    6 ++-
>  tools/perf/util/include/linux/kernel.h   |   15 +++++-
>  tools/perf/util/include/linux/magic.h    |   12 +++++
>  tools/perf/util/include/linux/types.h    |   15 ++++++
>  tools/perf/util/intlist.c                |    6 +--
>  tools/perf/util/map.h                    |    2 +-
>  tools/perf/util/parse-events-test.c      |    6 +--
>  tools/perf/util/parse-events.c           |    6 +--
>  tools/perf/util/parse-events.l           |    3 +-
>  tools/perf/util/parse-events.y           |    4 +-
>  tools/perf/util/parse-options.c          |    2 +-
>  tools/perf/util/perf_regs.h              |    2 +-
>  tools/perf/util/pmu.y                    |    6 +--
>  tools/perf/util/probe-finder.c           |    4 +-
>  tools/perf/util/python.c                 |    6 +--
>  tools/perf/util/session.c                |   50 +++++++++---------
>  tools/perf/util/sort.c                   |   10 ++--
>  tools/perf/util/symbol-minimal.c         |   24 ++++-----
>  tools/perf/util/symbol.c                 |    4 +-
>  tools/perf/util/symbol.h                 |    9 ++--
>  tools/perf/util/target.c                 |    4 +-
>  tools/perf/util/top.h                    |    1 +
>  tools/perf/util/unwind.c                 |   32 ++++++------
>  tools/perf/util/unwind.h                 |   10 ++--
>  tools/perf/util/util.h                   |    3 +-
>  tools/perf/util/wrapper.c                |    2 +-
>  81 files changed, 424 insertions(+), 362 deletions(-)
>  delete mode 100644 tools/perf/util/include/asm/byteorder.h
>  create mode 100644 tools/perf/util/include/linux/magic.h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 00/13] Porting perf to Android
  2012-08-30 17:19 ` Namhyung Kim
@ 2012-09-02 21:21   ` Irina Tirdea
  0 siblings, 0 replies; 3+ messages in thread
From: Irina Tirdea @ 2012-09-02 21:21 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Steven Rostedt, Arnaldo Carvalho de Melo, Ingo Molnar, LKML,
	Peter Zijlstra, Frederic Weisbecker

On Thu, Aug 30, 2012 at 8:19 PM, Namhyung Kim <namhyung@gmail.com> wrote:
> Irina Tirdea <irina.tirdea@gmail.com> writes:
>
>> Hi,
>>
>> This is a set of patches to port perf to Android.
>> My approach is to include missing functions in Android (like getline,
>> getsid, etc). I am currently working on upstreaming these to Google.
>> With the missing functionality added to bionic, this compiles on latest
>> Android tree (JellyBean). This will make perf compile, but there are still
>> fixes needed at runtime which I am currently working on.
>
> Yeah, I guess the callchain part which uses TLS is the one of them. Do
> you have an idea how to deal with it?

Yes, TLS defined through __thread is not supported by bionic. I was
thinking of using pthread_getspecific/pthread_setspecific API instead.

Thanks,
Irina

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-09-02 21:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-28 21:58 [PATCH 00/13] Porting perf to Android Irina Tirdea
2012-08-30 17:19 ` Namhyung Kim
2012-09-02 21:21   ` Irina Tirdea

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).