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

This series adds a synchronization profiler, similar to the one
described in
  https://www.usenix.org/system/files/conference/atc12/atc12-final237.pdf
, although without using perf counters.

The profiler allows us to identify what wait times in locks/condvars are,
and where they are coming from. This info is very useful to
identify scalability bottlenecks imposed by locks, particularly
the BQL. I have patches (currently out of tree) to switch the
BQL for per-CPU locks to keep track of CPU state; the profiler was
really useful when doing that work.

The profiler is disabled by default, and can be enabled by configuring
with --enable-sync-profiler. Overhead is pretty low though, see
patch 1's commit log.

You can fetch the patches from:
  https://github.com/cota/qemu/tree/sync-profiler

Note that checkpatch gives some warnings, but they are false positives.

Thanks,

		Emilio

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

end of thread, other threads:[~2018-08-16 13:20 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-13 17:11 [Qemu-devel] [PATCH 0/3] synchronization profiler Emilio G. Cota
2018-08-13 17:11 ` [Qemu-devel] [PATCH 1/3] qsp: QEMU's Synchronization Profiler Emilio G. Cota
2018-08-14  8:13   ` Paolo Bonzini
2018-08-15  0:44     ` Emilio G. Cota
2018-08-15  4:29       ` Markus Armbruster
2018-08-15  3:09   ` Fam Zheng
2018-08-15  4:53     ` Emilio G. Cota
2018-08-15  7:04       ` Fam Zheng
2018-08-15 23:55       ` Emilio G. Cota
2018-08-16  4:29         ` Emilio G. Cota
2018-08-16  4:36           ` Fam Zheng
2018-08-13 17:11 ` [Qemu-devel] [PATCH 2/3] monitor: show sync profiling info with 'info sync' Emilio G. Cota
2018-08-14  8:14   ` Paolo Bonzini
2018-08-15  1:26     ` Emilio G. Cota
2018-08-16 13:20       ` Peter Xu
2018-08-14  9:43   ` Dr. David Alan Gilbert
2018-08-15  1:33     ` Emilio G. Cota
2018-08-14 16:03   ` Markus Armbruster
2018-08-13 17:11 ` [Qemu-devel] [PATCH 3/3] qsp: track BQL callers directly Emilio G. Cota
2018-08-15 23:30 ` [Qemu-devel] [PATCH 0/3] synchronization profiler no-reply

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