[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/9] synchronization profiler
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/9] synchronization profiler |
Date: |
Fri, 17 Aug 2018 12:38:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
On 17/08/2018 07:18, Emilio G. Cota wrote:
> v1: https://lists.gnu.org/archive/html/qemu-devel/2018-08/msg02186.html
>
> Changes since v1:
>
> - Rebase on current master.
> - Update copyright to 2018.
> - Add -m option to the HMP info command to sort by average wait time,
> as suggested by Paolo.
> - Add -n option to the HMP info command to NOT merge call sites.
> The default does merge call sites, as suggested by Paolo (thanks
> to Peter for the clarification).
> - Switch to camel case in qsp.c
> - Update the commit logs of the two HMP patches to clearly state
> that this is only for developers, so it is HMP-only.
> - Rename the HMP command from "sync" to "sync-profile", as suggested
> by Markus.
> - Use int for line info consistently (was using unsigned sometimes)
> - Drop qsp_init from qsp_cond_wait, as suggested by Fam.
> - #undef QSP_GEN_{VOID,RET1} once they're no longer used.
> - Add qsp_reset()
> This uses a snapshot to avoid deleting items, which would require
> adding rcu_read_lock/unlock to the fast path.
> - Convert to run-time option, as suggested by Fam
> - Add -enable-sync-profile to qemu-options
> - Add sync-profile HMP command: "sync-profile on|off|reset"
> - allocate QSPEntry with g_new0
>
> I added most new bits as separate patches to ease review.
>
> The first patch has some perf numbers; the last patch shows
> sample output from the monitor.
>
> Checkpatch gives some errors, but they're false positives.
>
> You can fetch this series from:
> https://github.com/cota/qemu/tree/sync-profiler-v2
>
> Diffstat below.
>
> Thanks,
>
> Emilio
> ---
> cpus.c | 10 +-
> hmp-commands-info.hx | 22 ++
> hmp-commands.hx | 15 +
> hmp.c | 24 ++
> hmp.h | 1 +
> include/qemu/main-loop.h | 4 +-
> include/qemu/qht.h | 1 +
> include/qemu/qsp.h | 29 ++
> include/qemu/thread-posix.h | 4 +-
> include/qemu/thread-win32.h | 5 +-
> include/qemu/thread.h | 66 +++-
> monitor.c | 11 +
> qemu-options.hx | 10 +
> stubs/iothread-lock.c | 2 +-
> tests/atomic_add-bench.c | 6 +-
> util/Makefile.objs | 1 +
> util/qemu-thread-win32.c | 4 +-
> util/qht.c | 47 ++-
> util/qsp.c | 779 +++++++++++++++++++++++++++++++++++++++
> vl.c | 3 +
> 20 files changed, 1016 insertions(+), 28 deletions(-)
> create mode 100644 include/qemu/qsp.h
> create mode 100644 util/qsp.c
>
>
Queued, I'll wait for more comments before sending a pull request.
Paolo
- [Qemu-devel] [PATCH 6/9] tests/atomic_add-bench: add -p to enable sync profiler, (continued)
- [Qemu-devel] [PATCH 6/9] tests/atomic_add-bench: add -p to enable sync profiler, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 3/9] qsp: add qsp_reset, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 9/9] hmp-commands-info: add sync-profile, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 8/9] hmp-commands: add sync-profile, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 4/9] qsp: support call site coalescing, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 1/9] qsp: QEMU's Synchronization Profiler, Emilio G. Cota, 2018/08/17
- Re: [Qemu-devel] [PATCH v2 0/9] synchronization profiler,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH v2 0/9] synchronization profiler, no-reply, 2018/08/17
- Re: [Qemu-devel] [PATCH v2 0/9] synchronization profiler, no-reply, 2018/08/17
- Message not available