diff options
| author | Emilio G. Cota <cota@braap.org> | 2017-10-28 02:16:41 -0400 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-08-23 18:46:25 +0200 |
| commit | cb764d06650da5fad7c833975b255d08e91a0a52 (patch) | |
| tree | 7f403b625d17ba77ad11639d976b2c847f0c830c /include/qemu/main-loop.h | |
| parent | d557de4a0e290c9946f37ff1fba7204844cccc64 (diff) | |
| download | focaccia-qemu-cb764d06650da5fad7c833975b255d08e91a0a52.tar.gz focaccia-qemu-cb764d06650da5fad7c833975b255d08e91a0a52.zip | |
qsp: track BQL callers explicitly
The BQL is acquired via qemu_mutex_lock_iothread(), which makes the profiler assign the associated wait time (i.e. most of BQL wait time) entirely to that function. This loses the original call site information, which does not help diagnose BQL contention. Fix it by tracking the callers explicitly. Signed-off-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qemu/main-loop.h')
| -rw-r--r-- | include/qemu/main-loop.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h index 721aa2416a..e59f9ae1e9 100644 --- a/include/qemu/main-loop.h +++ b/include/qemu/main-loop.h @@ -276,7 +276,9 @@ bool qemu_mutex_iothread_locked(void); * NOTE: tools currently are single-threaded and qemu_mutex_lock_iothread * is a no-op there. */ -void qemu_mutex_lock_iothread(void); +#define qemu_mutex_lock_iothread() \ + qemu_mutex_lock_iothread_impl(__FILE__, __LINE__) +void qemu_mutex_lock_iothread_impl(const char *file, int line); /** * qemu_mutex_unlock_iothread: Unlock the main loop mutex. |