[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 8/9] hmp-commands: add sync-profile
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH 8/9] hmp-commands: add sync-profile |
Date: |
Fri, 17 Aug 2018 01:18:52 -0400 |
The command introduced here is just for developers. This means that:
- the interface implemented here could change in the future
- the command is only meant to be used from HMP, not from QMP
Signed-off-by: Emilio G. Cota <address@hidden>
---
hmp.h | 1 +
hmp.c | 24 ++++++++++++++++++++++++
hmp-commands.hx | 15 +++++++++++++++
3 files changed, 40 insertions(+)
diff --git a/hmp.h b/hmp.h
index 33354f1bdd..5f1addcca2 100644
--- a/hmp.h
+++ b/hmp.h
@@ -42,6 +42,7 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict);
void hmp_info_iothreads(Monitor *mon, const QDict *qdict);
void hmp_quit(Monitor *mon, const QDict *qdict);
void hmp_stop(Monitor *mon, const QDict *qdict);
+void hmp_sync_profile(Monitor *mon, const QDict *qdict);
void hmp_system_reset(Monitor *mon, const QDict *qdict);
void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
void hmp_exit_preconfig(Monitor *mon, const QDict *qdict);
diff --git a/hmp.c b/hmp.c
index 2aafb50e8e..d94a47f7c7 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1062,6 +1062,30 @@ void hmp_stop(Monitor *mon, const QDict *qdict)
qmp_stop(NULL);
}
+void hmp_sync_profile(Monitor *mon, const QDict *qdict)
+{
+ const char *op = qdict_get_try_str(qdict, "op");
+
+ if (op == NULL) {
+ bool on = qsp_is_enabled();
+
+ monitor_printf(mon, "sync-profile is %s\n", on ? "on" : "off");
+ return;
+ }
+ if (!strcmp(op, "on")) {
+ qsp_enable();
+ } else if (!strcmp(op, "off")) {
+ qsp_disable();
+ } else if (!strcmp(op, "reset")) {
+ qsp_reset();
+ } else {
+ Error *err = NULL;
+
+ error_setg(&err, QERR_INVALID_PARAMETER, op);
+ hmp_handle_error(mon, &err);
+ }
+}
+
void hmp_system_reset(Monitor *mon, const QDict *qdict)
{
qmp_system_reset(NULL);
diff --git a/hmp-commands.hx b/hmp-commands.hx
index c1fc747403..db0c681f74 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -643,6 +643,21 @@ sendkey ctrl-alt-f1
This command is useful to send keys that your graphical user interface
intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
+ETEXI
+ {
+ .name = "sync-profile",
+ .args_type = "op:s?",
+ .params = "[on|off|reset]",
+ .help = "enable, disable or reset synchronization profiling. "
+ "With no arguments, prints whether profiling is on or
off.",
+ .cmd = hmp_sync_profile,
+ },
+
+STEXI
address@hidden sync-profile [on|off|reset]
address@hidden sync-profile
+Enable, disable or reset synchronization profiling. With no arguments, prints
+whether profiling is on or off.
ETEXI
{
--
2.17.1
- [Qemu-devel] [PATCH v2 0/9] synchronization profiler, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 7/9] vl: add -enable-sync-profile, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 2/9] qsp: add sort_by option to qsp_report, Emilio G. Cota, 2018/08/17
- [Qemu-devel] [PATCH 5/9] qsp: track BQL callers explicitly, Emilio G. Cota, 2018/08/17
- [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 <=
- [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, 2018/08/17
- 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