[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/6]xl: Add 'xl tmem-freeze' command
Add 'xl tmem-freeze' command Signed-off-by: Yang Hongyang<yanghy@xxxxxxxxxxxxxx> diff -r 540720cb1f64 tools/libxl/libxl.c --- a/tools/libxl/libxl.c Wed May 19 23:25:41 2010 +0800 +++ b/tools/libxl/libxl.c Wed May 19 23:28:56 2010 +0800 @@ -2840,3 +2840,18 @@ return strdup(_buf); } + +int libxl_tmem_freeze(struct libxl_ctx *ctx, uint32_t domid) +{ + int rc; + + rc = xc_tmem_control(ctx->xch, -1, TMEMC_FREEZE, domid, 0, 0, + 0, NULL); + if (rc < 0) { + XL_LOG_ERRNOVAL(ctx, XL_LOG_ERROR, rc, + "Can not freeze tmem pools"); + return -1; + } + + return rc; +} diff -r 540720cb1f64 tools/libxl/libxl.h --- a/tools/libxl/libxl.h Wed May 19 23:25:41 2010 +0800 +++ b/tools/libxl/libxl.h Wed May 19 23:28:56 2010 +0800 @@ -514,6 +514,7 @@ uint32_t libxl_vm_get_start_time(struct libxl_ctx *ctx, uint32_t domid); char *libxl_tmem_list(struct libxl_ctx *ctx, uint32_t domid, int use_long); +int libxl_tmem_freeze(struct libxl_ctx *ctx, uint32_t domid); #endif /* LIBXL_H */ diff -r 540720cb1f64 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Wed May 19 23:25:41 2010 +0800 +++ b/tools/libxl/xl_cmdimpl.c Wed May 19 23:28:56 2010 +0800 @@ -3713,3 +3713,40 @@ free(buf); exit(0); } + +int main_tmem_freeze(int argc, char **argv) +{ + char *dom = NULL; + int all = 0; + int opt; + + while ((opt = getopt(argc, argv, "ah")) != -1) { + switch (opt) { + case 'a': + all = 1; + break; + case 'h': + help("tmem-freeze"); + exit(0); + default: + fprintf(stderr, "option `%c' not supported.\n", opt); + break; + } + } + + dom = argv[optind]; + if (!dom && all == 0) { + fprintf(stderr, "You must specify -a or a domain id.\n\n"); + help("tmem-freeze"); + exit(1); + } + + if (all) + domid = -1; + else + find_domain(dom); + + libxl_tmem_freeze(&ctx, domid); + exit(0); +} + diff -r 540720cb1f64 tools/libxl/xl_cmdimpl.h --- a/tools/libxl/xl_cmdimpl.h Wed May 19 23:25:41 2010 +0800 +++ b/tools/libxl/xl_cmdimpl.h Wed May 19 23:28:56 2010 +0800 @@ -53,6 +53,7 @@ int main_blockdetach(int argc, char **argv); int main_uptime(int argc, char **argv); int main_tmem_list(int argc, char **argv); +int main_tmem_freeze(int argc, char **argv); void help(char *command); diff -r 540720cb1f64 tools/libxl/xl_cmdtable.c --- a/tools/libxl/xl_cmdtable.c Wed May 19 23:25:41 2010 +0800 +++ b/tools/libxl/xl_cmdtable.c Wed May 19 23:28:56 2010 +0800 @@ -230,6 +230,12 @@ "[-l] [<Domain>|-a]", " -l List tmem stats", }, + { "tmem-freeze", + &main_tmem_freeze, + "Freeze tmem pools", + "[<Domain>|-a]", + " -a Freeze all tmem", + }, }; int cmdtable_len = sizeof(cmd_table)/sizeof(struct cmd_spec); -- Regards Yang Hongyang _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |