aboutsummaryrefslogtreecommitdiffstats
path: root/tools/misc
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-04-06 13:49:16 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-04-06 13:49:16 +0100
commit9d8216601857f5666b52c64139cde296456a8205 (patch)
tree06e7719a724ac82589c67e2e63576e20d62d2564 /tools/misc
parent3e15c37e68862b9d8f3a9f0085fab2d596e19e49 (diff)
downloadxen-9d8216601857f5666b52c64139cde296456a8205.tar.gz
xen-9d8216601857f5666b52c64139cde296456a8205.tar.bz2
xen-9d8216601857f5666b52c64139cde296456a8205.zip
xenpm: Set scheduler vcpu_migration_delay by xenpm
Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Diffstat (limited to 'tools/misc')
-rw-r--r--tools/misc/xenpm.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 1d65393706..015d80a5b9 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -57,6 +57,8 @@ void show_help(void)
" it is used in ondemand governor.\n"
" get-cpu-topology get thread/core/socket topology info\n"
" set-sched-smt enable|disable enable/disable scheduler smt power saving\n"
+ " set-vcpu-migration-delay <num> set scheduler vcpu migration delay in us\n"
+ " get-vcpu-migration-delay get scheduler vcpu migration delay\n"
" set-max-cstate <num> set the C-State limitation (<num> >= 0)\n"
" start [seconds] start collect Cx/Px statistics,\n"
" output after CTRL-C or SIGINT or several seconds.\n"
@@ -884,6 +886,54 @@ void set_sched_smt_func(int argc, char *argv[])
return;
}
+void set_vcpu_migration_delay_func(int argc, char *argv[])
+{
+ int value;
+ int rc;
+
+ if (argc != 1){
+ show_help();
+ exit(-1);
+ }
+
+ value = atoi(argv[0]);
+
+ if (value < 0)
+ {
+ printf("Please try non-negative vcpu migration delay\n");
+ exit(-1);
+ }
+
+ rc = xc_set_vcpu_migration_delay(xc_fd, value);
+ printf("%s to set vcpu migration delay to %d us\n",
+ rc? "Fail":"Succeed", value );
+
+ return;
+}
+
+void get_vcpu_migration_delay_func(int argc, char *argv[])
+{
+ uint32_t value;
+ int rc;
+
+ if (argc != 0){
+ show_help();
+ exit(-1);
+ }
+
+ rc = xc_get_vcpu_migration_delay(xc_fd, &value);
+ if (!rc)
+ {
+ printf("Schduler vcpu migration delay is %d us\n", value);
+ }
+ else
+ {
+ printf("Failed to get scheduler vcpu migration delay, errno=%d\n", errno);
+ }
+
+ return;
+}
+
void set_max_cstate_func(int argc, char *argv[])
{
int value, rc;
@@ -918,6 +968,8 @@ struct {
{ "set-up-threshold", scaling_up_threshold_func },
{ "get-cpu-topology", cpu_topology_func},
{ "set-sched-smt", set_sched_smt_func},
+ { "get-vcpu-migration-delay", get_vcpu_migration_delay_func},
+ { "set-vcpu-migration-delay", set_vcpu_migration_delay_func},
{ "set-max-cstate", set_max_cstate_func},
};