@@ -1398,6 +1398,32 @@ SRST
Request VM to change its memory allocation to *value* (in MB).
ERST
+ {
+ .name = "working_set_config",
+ .args_type = "i0:i,i1:i,i2:i,refresh:i,report:i",
+ .params = "bin intervals 0-2, refresh and report thresholds",
+ .help = "Working Set intervals, refresh/report thresholds (ms)",
+ .cmd = hmp_working_set_config,
+ },
+
+SRST
+``working_set_config``
+ Set the intervals (in ms), refresh, report thresholds for Working Set reporting
+ERST
+
+ {
+ .name = "working_set_request",
+ .args_type = "",
+ .params = "",
+ .help = "Request the Working Set of the guest.",
+ .cmd = hmp_working_set_request,
+ },
+
+SRST
+``working_set_request``
+ Request the Working Set from the guest.
+ERST
+
{
.name = "set_link",
.args_type = "name:s,up:b",
@@ -237,6 +237,27 @@ void hmp_balloon(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
+void hmp_working_set_request(Monitor *mon, const QDict *qdict)
+{
+ Error *err = NULL;
+
+ qmp_working_set_request(&err);
+ hmp_handle_error(mon, err);
+}
+
+void hmp_working_set_config(Monitor *mon, const QDict *qdict)
+{
+ uint64_t i0 = qdict_get_int(qdict, "i0");
+ uint64_t i1 = qdict_get_int(qdict, "i1");
+ uint64_t i2 = qdict_get_int(qdict, "i2");
+ uint64_t refresh = qdict_get_int(qdict, "refresh");
+ uint64_t report = qdict_get_int(qdict, "report");
+ Error *err = NULL;
+
+ qmp_working_set_config(i0, i1, i2, refresh, report, &err);
+ hmp_handle_error(mon, err);
+}
+
void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
{
Error *err = NULL;
@@ -59,6 +59,8 @@ void hmp_nmi(Monitor *mon, const QDict *qdict);
void hmp_info_network(Monitor *mon, const QDict *qdict);
void hmp_set_link(Monitor *mon, const QDict *qdict);
void hmp_balloon(Monitor *mon, const QDict *qdict);
+void hmp_working_set_config(Monitor *mon, const QDict *qdict);
+void hmp_working_set_request(Monitor *mon, const QDict *qdict);
void hmp_loadvm(Monitor *mon, const QDict *qdict);
void hmp_savevm(Monitor *mon, const QDict *qdict);
void hmp_delvm(Monitor *mon, const QDict *qdict);