[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/3] synchronization profiler
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH 0/3] synchronization profiler |
Date: |
Mon, 13 Aug 2018 13:11:29 -0400 |
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