Re: [PATCH 0/3] Add Scripts for Finding Top 25 Executed Functions

2020-06-17 Thread Alex Bennée


Aleksandar Markovic  writes:

> сре, 17. јун 2020. у 17:34 Alex Bennée  је написао/ла:
>>
>>
>> Eric Blake  writes:
>>
>> > On 6/16/20 6:12 PM, Ahmed Karaman wrote:
>> >> Greetings,
>> >>
>> >> As a part of the TCG Continous Benchmarking project for GSoC this
>> >> year, detailed reports discussing different performance measurement
>> >> methodologies and analysis results will be sent here on the mailing
>> >> list.
>> >>
>> >> The project's first report is currently being revised and will be
>> >> posted on the mailing list in the next few days.
>> >> A section in this report will deal with measuring the top 25 executed
>> >> functions when running QEMU. It includes two Python scripts that
>> >> automatically perform this task.
>> >>
>> >> This series adds these two scripts to a new performance directory
>> >> created under the scripts directory. It also adds a new
>> >> "Miscellaneous" section to the end of the MAINTAINERS file with a
>> >> "Performance Tools and Tests" subsection.
>> >>
>> >> Best regards,
>> >> Ahmed Karaman
>> >>
>> >> Ahmed Karaman (3):
>> >>MAINTAINERS: Add 'Miscellaneous' section
>> >>scripts/performance: Add callgrind_top_25.py script
>> >>scripts/performance: Add perf_top_25.py script
>> >>
>> >>   MAINTAINERS |  7 ++
>> >>   scripts/performance/callgrind_top_25.py | 95 +
>> >>   scripts/performance/perf_top_25.py  | 82 +
>> >>   3 files changed, 184 insertions(+)
>> >>   create mode 100644 scripts/performance/callgrind_top_25.py
>> >>   create mode 100644 scripts/performance/perf_top_25.py
>> >
>> > Are the new scripts supposed to have executable permissions, or are they
>> > always invoked as 'python path/to/script.py' where the executable bit is
>> > less important?
>>
>> I would assume +x for directly invocable scripts - certainly we have a
>> lot of those in the scripts directory.
>>
>
> There is no reason IMHO for these scripts not having +x and Ahmed
> should correct this in v2, and I think that was his original
> intention.
>
> However, I was a little surprized though when I found out this in our
> scripts directory:
>
> $ find . -name \*.py -type f  -print | xargs ls -l

> -rw-r--r-- 1 rtrk rtrk 20723 May 10 11:21 ./dump-guest-memory.py
> -rw-r--r-- 1 rtrk rtrk  2751 Jun  2 10:22 ./modules/module_block.py
> -rw-r--r-- 1 rtrk rtrk  7842 May 10 11:21 ./qapi/commands.py
> -rw-r--r-- 1 rtrk rtrk  5673 May 10 11:21 ./qapi/common.py
> -rw-r--r-- 1 rtrk rtrk  9742 May 10 11:21 ./qapi/doc.py
> -rw-r--r-- 1 rtrk rtrk  1107 May 10 11:21 ./qapi/error.py
> -rw-r--r-- 1 rtrk rtrk  6148 May 10 11:21 ./qapi/events.py
> -rw-r--r-- 1 rtrk rtrk 12297 May 10 11:21 ./qapi/expr.py
> -rw-r--r-- 1 rtrk rtrk  8280 May 10 11:21 ./qapi/gen.py
> -rw-r--r-- 1 rtrk rtrk 0 May 10 11:21 ./qapi/__init__.py
> -rw-r--r-- 1 rtrk rtrk  8533 May 10 11:21 ./qapi/introspect.py
> -rw-r--r-- 1 rtrk rtrk 21696 May 10 11:21 ./qapi/parser.py
> -rw-r--r-- 1 rtrk rtrk 41301 May 10 11:21 ./qapi/schema.py
> -rw-r--r-- 1 rtrk rtrk  1789 May 10 11:21 ./qapi/source.py
> -rw-r--r-- 1 rtrk rtrk  8724 May 10 11:21 ./qapi/types.py
> -rw-r--r-- 1 rtrk rtrk  9980 May 10 11:21 ./qapi/visit.py
> -rw-r--r-- 1 rtrk rtrk  1843 Jun  2 10:22 ./qemugdb/aio.py
> -rw-r--r-- 1 rtrk rtrk  3514 Jun  2 10:22 ./qemugdb/coroutine.py
> -rw-r--r-- 1 rtrk rtrk   897 Jun  2 10:22 ./qemugdb/__init__.py
> -rw-r--r-- 1 rtrk rtrk  2741 Jun  2 10:22 ./qemugdb/mtree.py
> -rw-r--r-- 1 rtrk rtrk  1213 Jun  2 10:22 ./qemu-gdb.py
> -rw-r--r-- 1 rtrk rtrk  1469 Jun  2 10:22 ./qemugdb/tcg.py
> -rw-r--r-- 1 rtrk rtrk  1850 Jun  2 10:22 ./qemugdb/timers.py
> -rw-r--r-- 1 rtrk rtrk  2447 May 10 11:21 ./simplebench/bench-example.py
> -rw-r--r-- 1 rtrk rtrk  4615 May 10 11:21 ./simplebench/simplebench.py
> -rw-r--r-- 1 rtrk rtrk  1443 May 10 11:21 ./tracetool/backend/dtrace.py
> -rw-r--r-- 1 rtrk rtrk  1471 May 10 11:21 ./tracetool/backend/ftrace.py
> -rw-r--r-- 1 rtrk rtrk  4098 May 10 11:21 ./tracetool/backend/__init__.py
> -rw-r--r-- 1 rtrk rtrk  1499 May 10 11:21 ./tracetool/backend/log.py
> -rw-r--r-- 1 rtrk rtrk  3116 May 10 11:21 ./tracetool/backend/simple.py
> -rw-r--r-- 1 rtrk rtrk  1175 May 10 11:21 ./tracetool/backend/syslog.py
> -rw-r--r-- 1 rtrk rtrk  1190 May 10 11:21 ./tracetool/backend/ust.py
> -rw-r--r-- 1 rtrk rtrk  2094 May 10 11:21 ./tracetool/format/c.py
> -rw-r--r-- 1 rtrk rtrk  1744 May 10 11:21 ./tracetool/format/d.py
> -rw-r--r-- 1 rtrk rtrk  2912 May 10 11:21 ./tracetool/format/h.py
> -rw-r--r-- 1 rtrk rtrk  2402 May 10 11:21 ./tracetool/format/__init__.py
> -rw-r--r-- 1 rtrk rtrk  3725 May 10 11:21 ./tracetool/format/log_stap.py
> -rw-r--r-- 1 rtrk rtrk  2467 May 10 11:21 
> ./tracetool/format/simpletrace_stap.py
> -rw-r--r-- 1 rtrk rtrk  1653 May 10 11:21 ./tracetool/format/stap.py
> -rw-r--r-- 1 rtrk rtrk  2388 May 10 11:21 ./tracetool/format/tcg_helper_c.py
> -rw-r--r-- 1 rtrk rtrk  1343 May 10 11:21 ./tracetool/format/tcg_helper_h.py
> 

Re: [PATCH 0/3] Add Scripts for Finding Top 25 Executed Functions

2020-06-17 Thread Ahmed Karaman
On Wed, Jun 17, 2020 at 3:53 PM Eric Blake  wrote:
> Are the new scripts supposed to have executable permissions, or are they
> always invoked as 'python path/to/script.py' where the executable bit is
> less important?
>
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc.   +1-919-301-3226
> Virtualization:  qemu.org | libvirt.org
>
The execution permission will be added to the scripts in v2 of this
series. There will be no need to invoke them with Python when this is
done.



Re: [PATCH 0/3] Add Scripts for Finding Top 25 Executed Functions

2020-06-17 Thread Aleksandar Markovic
сре, 17. јун 2020. у 17:34 Alex Bennée  је написао/ла:
>
>
> Eric Blake  writes:
>
> > On 6/16/20 6:12 PM, Ahmed Karaman wrote:
> >> Greetings,
> >>
> >> As a part of the TCG Continous Benchmarking project for GSoC this
> >> year, detailed reports discussing different performance measurement
> >> methodologies and analysis results will be sent here on the mailing
> >> list.
> >>
> >> The project's first report is currently being revised and will be
> >> posted on the mailing list in the next few days.
> >> A section in this report will deal with measuring the top 25 executed
> >> functions when running QEMU. It includes two Python scripts that
> >> automatically perform this task.
> >>
> >> This series adds these two scripts to a new performance directory
> >> created under the scripts directory. It also adds a new
> >> "Miscellaneous" section to the end of the MAINTAINERS file with a
> >> "Performance Tools and Tests" subsection.
> >>
> >> Best regards,
> >> Ahmed Karaman
> >>
> >> Ahmed Karaman (3):
> >>MAINTAINERS: Add 'Miscellaneous' section
> >>scripts/performance: Add callgrind_top_25.py script
> >>scripts/performance: Add perf_top_25.py script
> >>
> >>   MAINTAINERS |  7 ++
> >>   scripts/performance/callgrind_top_25.py | 95 +
> >>   scripts/performance/perf_top_25.py  | 82 +
> >>   3 files changed, 184 insertions(+)
> >>   create mode 100644 scripts/performance/callgrind_top_25.py
> >>   create mode 100644 scripts/performance/perf_top_25.py
> >
> > Are the new scripts supposed to have executable permissions, or are they
> > always invoked as 'python path/to/script.py' where the executable bit is
> > less important?
>
> I would assume +x for directly invocable scripts - certainly we have a
> lot of those in the scripts directory.
>

There is no reason IMHO for these scripts not having +x and Ahmed
should correct this in v2, and I think that was his original
intention.

However, I was a little surprized though when I found out this in our
scripts directory:

$ find . -name \*.py -type f  -print | xargs ls -l
-rwxr-xr-x 1 rtrk rtrk  9103 May 10 11:21 ./analyse-9p-simpletrace.py
-rwxr-xr-x 1 rtrk rtrk  3544 May 10 11:21 ./analyse-locks-simpletrace.py
-rwxr-xr-x 1 rtrk rtrk 20647 Jun  2 10:22 ./analyze-migration.py
-rwxr-xr-x 1 rtrk rtrk 38358 Jun  2 10:22 ./decodetree.py
-rw-r--r-- 1 rtrk rtrk 20723 May 10 11:21 ./dump-guest-memory.py
-rwxr-xr-x 1 rtrk rtrk 23599 May 10 11:21 ./minikconf.py
-rw-r--r-- 1 rtrk rtrk  2751 Jun  2 10:22 ./modules/module_block.py
-rw-r--r-- 1 rtrk rtrk  7842 May 10 11:21 ./qapi/commands.py
-rw-r--r-- 1 rtrk rtrk  5673 May 10 11:21 ./qapi/common.py
-rw-r--r-- 1 rtrk rtrk  9742 May 10 11:21 ./qapi/doc.py
-rw-r--r-- 1 rtrk rtrk  1107 May 10 11:21 ./qapi/error.py
-rw-r--r-- 1 rtrk rtrk  6148 May 10 11:21 ./qapi/events.py
-rw-r--r-- 1 rtrk rtrk 12297 May 10 11:21 ./qapi/expr.py
-rwxr-xr-x 1 rtrk rtrk  2066 May 10 11:21 ./qapi-gen.py
-rw-r--r-- 1 rtrk rtrk  8280 May 10 11:21 ./qapi/gen.py
-rw-r--r-- 1 rtrk rtrk 0 May 10 11:21 ./qapi/__init__.py
-rw-r--r-- 1 rtrk rtrk  8533 May 10 11:21 ./qapi/introspect.py
-rw-r--r-- 1 rtrk rtrk 21696 May 10 11:21 ./qapi/parser.py
-rw-r--r-- 1 rtrk rtrk 41301 May 10 11:21 ./qapi/schema.py
-rw-r--r-- 1 rtrk rtrk  1789 May 10 11:21 ./qapi/source.py
-rw-r--r-- 1 rtrk rtrk  8724 May 10 11:21 ./qapi/types.py
-rw-r--r-- 1 rtrk rtrk  9980 May 10 11:21 ./qapi/visit.py
-rw-r--r-- 1 rtrk rtrk  1843 Jun  2 10:22 ./qemugdb/aio.py
-rw-r--r-- 1 rtrk rtrk  3514 Jun  2 10:22 ./qemugdb/coroutine.py
-rw-r--r-- 1 rtrk rtrk   897 Jun  2 10:22 ./qemugdb/__init__.py
-rw-r--r-- 1 rtrk rtrk  2741 Jun  2 10:22 ./qemugdb/mtree.py
-rw-r--r-- 1 rtrk rtrk  1213 Jun  2 10:22 ./qemu-gdb.py
-rw-r--r-- 1 rtrk rtrk  1469 Jun  2 10:22 ./qemugdb/tcg.py
-rw-r--r-- 1 rtrk rtrk  1850 Jun  2 10:22 ./qemugdb/timers.py
-rwxr-xr-x 1 rtrk rtrk  3791 May 10 11:21 ./render_block_graph.py
-rwxr-xr-x 1 rtrk rtrk 12118 May 10 11:21 ./replay-dump.py
-rwxr-xr-x 1 rtrk rtrk  1272 May 10 11:21 ./signrom.py
-rwxr-xr-x 1 rtrk rtrk  3963 May 10 11:21 ./simplebench/bench_block_job.py
-rw-r--r-- 1 rtrk rtrk  2447 May 10 11:21 ./simplebench/bench-example.py
-rw-r--r-- 1 rtrk rtrk  4615 May 10 11:21 ./simplebench/simplebench.py
-rwxr-xr-x 1 rtrk rtrk  8572 May 10 11:21 ./simpletrace.py
-rw-r--r-- 1 rtrk rtrk  1443 May 10 11:21 ./tracetool/backend/dtrace.py
-rw-r--r-- 1 rtrk rtrk  1471 May 10 11:21 ./tracetool/backend/ftrace.py
-rw-r--r-- 1 rtrk rtrk  4098 May 10 11:21 ./tracetool/backend/__init__.py
-rw-r--r-- 1 rtrk rtrk  1499 May 10 11:21 ./tracetool/backend/log.py
-rw-r--r-- 1 rtrk rtrk  3116 May 10 11:21 ./tracetool/backend/simple.py
-rw-r--r-- 1 rtrk rtrk  1175 May 10 11:21 ./tracetool/backend/syslog.py
-rw-r--r-- 1 rtrk rtrk  1190 May 10 11:21 ./tracetool/backend/ust.py
-rw-r--r-- 1 rtrk rtrk  2094 May 10 11:21 ./tracetool/format/c.py
-rw-r--r-- 1 rtrk rtrk  1744 May 10 11:21 ./tracetool/format/d.py

Re: [PATCH 0/3] Add Scripts for Finding Top 25 Executed Functions

2020-06-17 Thread Alex Bennée


Eric Blake  writes:

> On 6/16/20 6:12 PM, Ahmed Karaman wrote:
>> Greetings,
>> 
>> As a part of the TCG Continous Benchmarking project for GSoC this
>> year, detailed reports discussing different performance measurement
>> methodologies and analysis results will be sent here on the mailing
>> list.
>> 
>> The project's first report is currently being revised and will be
>> posted on the mailing list in the next few days.
>> A section in this report will deal with measuring the top 25 executed
>> functions when running QEMU. It includes two Python scripts that
>> automatically perform this task.
>> 
>> This series adds these two scripts to a new performance directory
>> created under the scripts directory. It also adds a new
>> "Miscellaneous" section to the end of the MAINTAINERS file with a
>> "Performance Tools and Tests" subsection.
>> 
>> Best regards,
>> Ahmed Karaman
>> 
>> Ahmed Karaman (3):
>>MAINTAINERS: Add 'Miscellaneous' section
>>scripts/performance: Add callgrind_top_25.py script
>>scripts/performance: Add perf_top_25.py script
>> 
>>   MAINTAINERS |  7 ++
>>   scripts/performance/callgrind_top_25.py | 95 +
>>   scripts/performance/perf_top_25.py  | 82 +
>>   3 files changed, 184 insertions(+)
>>   create mode 100644 scripts/performance/callgrind_top_25.py
>>   create mode 100644 scripts/performance/perf_top_25.py
>
> Are the new scripts supposed to have executable permissions, or are they 
> always invoked as 'python path/to/script.py' where the executable bit is 
> less important?

I would assume +x for directly invocable scripts - certainly we have a
lot of those in the scripts directory. 

-- 
Alex Bennée



Re: [PATCH 0/3] Add Scripts for Finding Top 25 Executed Functions

2020-06-17 Thread Eric Blake

On 6/16/20 6:12 PM, Ahmed Karaman wrote:

Greetings,

As a part of the TCG Continous Benchmarking project for GSoC this
year, detailed reports discussing different performance measurement
methodologies and analysis results will be sent here on the mailing
list.

The project's first report is currently being revised and will be
posted on the mailing list in the next few days.
A section in this report will deal with measuring the top 25 executed
functions when running QEMU. It includes two Python scripts that
automatically perform this task.

This series adds these two scripts to a new performance directory
created under the scripts directory. It also adds a new
"Miscellaneous" section to the end of the MAINTAINERS file with a
"Performance Tools and Tests" subsection.

Best regards,
Ahmed Karaman

Ahmed Karaman (3):
   MAINTAINERS: Add 'Miscellaneous' section
   scripts/performance: Add callgrind_top_25.py script
   scripts/performance: Add perf_top_25.py script

  MAINTAINERS |  7 ++
  scripts/performance/callgrind_top_25.py | 95 +
  scripts/performance/perf_top_25.py  | 82 +
  3 files changed, 184 insertions(+)
  create mode 100644 scripts/performance/callgrind_top_25.py
  create mode 100644 scripts/performance/perf_top_25.py


Are the new scripts supposed to have executable permissions, or are they 
always invoked as 'python path/to/script.py' where the executable bit is 
less important?


--
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3226
Virtualization:  qemu.org | libvirt.org




Re: [PATCH 0/3] Add Scripts for Finding Top 25 Executed Functions

2020-06-16 Thread no-reply
Patchew URL: 
https://patchew.org/QEMU/20200616231204.8850-1-ahmedkhaledkara...@gmail.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

  GEN docs/interop/qemu-qmp-ref.html
  GEN docs/interop/qemu-qmp-ref.txt
  GEN docs/interop/qemu-qmp-ref.7
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  CC  qga/commands.o
  CC  qga/guest-agent-command-state.o
  CC  qga/main.o
---
  GEN docs/interop/qemu-ga-ref.html
  GEN docs/interop/qemu-ga-ref.txt
  GEN docs/interop/qemu-ga-ref.7
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKqemu-ga
  LINKqemu-keymap
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKivshmem-client
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKivshmem-server
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKqemu-nbd
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKqemu-storage-daemon
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  AS  pc-bios/optionrom/multiboot.o
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  AS  pc-bios/optionrom/linuxboot.o
  CC  pc-bios/optionrom/linuxboot_dma.o
  AS  pc-bios/optionrom/kvmvapic.o
---
  BUILD   pc-bios/optionrom/kvmvapic.raw
  BUILD   pc-bios/optionrom/pvh.raw
  SIGNpc-bios/optionrom/multiboot.bin
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  SIGNpc-bios/optionrom/linuxboot.bin
  SIGNpc-bios/optionrom/linuxboot_dma.bin
  SIGNpc-bios/optionrom/kvmvapic.bin
  SIGNpc-bios/optionrom/pvh.bin
  LINKqemu-edid
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKfsdev/virtfs-proxy-helper
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKscsi/qemu-pr-helper
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINKqemu-bridge-helper
/usr/bin/ld: 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
 warning: common of `__interception::real_vfork' overridden by definition from 
/usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  

[PATCH 0/3] Add Scripts for Finding Top 25 Executed Functions

2020-06-16 Thread Ahmed Karaman
Greetings,

As a part of the TCG Continous Benchmarking project for GSoC this
year, detailed reports discussing different performance measurement
methodologies and analysis results will be sent here on the mailing
list.

The project's first report is currently being revised and will be
posted on the mailing list in the next few days.
A section in this report will deal with measuring the top 25 executed
functions when running QEMU. It includes two Python scripts that
automatically perform this task.

This series adds these two scripts to a new performance directory
created under the scripts directory. It also adds a new
"Miscellaneous" section to the end of the MAINTAINERS file with a
"Performance Tools and Tests" subsection.

Best regards,
Ahmed Karaman

Ahmed Karaman (3):
  MAINTAINERS: Add 'Miscellaneous' section
  scripts/performance: Add callgrind_top_25.py script
  scripts/performance: Add perf_top_25.py script

 MAINTAINERS |  7 ++
 scripts/performance/callgrind_top_25.py | 95 +
 scripts/performance/perf_top_25.py  | 82 +
 3 files changed, 184 insertions(+)
 create mode 100644 scripts/performance/callgrind_top_25.py
 create mode 100644 scripts/performance/perf_top_25.py

-- 
2.17.1