qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/9] synchronization profiler
@ 2018-08-17  5:18 Emilio G. Cota
  2018-08-17  5:18 ` [Qemu-devel] [PATCH 1/9] qsp: QEMU's Synchronization Profiler Emilio G. Cota
                   ` (12 more replies)
  0 siblings, 13 replies; 20+ messages in thread
From: Emilio G. Cota @ 2018-08-17  5:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Peter Crosthwaite, Richard Henderson,
	Dr. David Alan Gilbert, Stefan Weil, Markus Armbruster, Peter Xu,
	Fam Zheng

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

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

end of thread, other threads:[~2018-08-21 14:06 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-17  5:18 [Qemu-devel] [PATCH v2 0/9] synchronization profiler Emilio G. Cota
2018-08-17  5:18 ` [Qemu-devel] [PATCH 1/9] qsp: QEMU's Synchronization Profiler Emilio G. Cota
2018-08-21 14:06   ` Paolo Bonzini
2018-08-17  5:18 ` [Qemu-devel] [PATCH 2/9] qsp: add sort_by option to qsp_report Emilio G. Cota
2018-08-17  5:18 ` [Qemu-devel] [PATCH 3/9] qsp: add qsp_reset Emilio G. Cota
2018-08-17  5:18 ` [Qemu-devel] [PATCH 4/9] qsp: support call site coalescing Emilio G. Cota
2018-08-17  5:18 ` [Qemu-devel] [PATCH 5/9] qsp: track BQL callers explicitly Emilio G. Cota
2018-08-17  5:18 ` [Qemu-devel] [PATCH 6/9] tests/atomic_add-bench: add -p to enable sync profiler Emilio G. Cota
2018-08-17  5:18 ` [Qemu-devel] [PATCH 7/9] vl: add -enable-sync-profile Emilio G. Cota
2018-08-17  5:18 ` [Qemu-devel] [PATCH 8/9] hmp-commands: add sync-profile Emilio G. Cota
2018-08-17 10:48   ` Dr. David Alan Gilbert
2018-08-17  5:18 ` [Qemu-devel] [PATCH 9/9] hmp-commands-info: " Emilio G. Cota
2018-08-17 10:52   ` Dr. David Alan Gilbert
2018-08-17 16:05   ` Emilio G. Cota
2018-08-17 10:38 ` [Qemu-devel] [PATCH v2 0/9] synchronization profiler Paolo Bonzini
2018-08-18  6:14   ` Emilio G. Cota
2018-08-18  2:03 ` no-reply
2018-08-18  2:12 ` no-reply
     [not found] ` <153455848651.26347.421862919623233041@502c9da6d61e>
2018-08-18  6:45   ` Fam Zheng
2018-08-18 17:43     ` Emilio G. Cota

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).