aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-04-16 16:00:47 +0100
committerIan Campbell <ian.campbell@citrix.com>2012-04-16 16:00:47 +0100
commite601453ce6046956507df3efab03a9f767517ea5 (patch)
tree6c566b8d8bdb71a1756321f8953157e5e68bc0c4
parent663448101e80c738e486e41b4d40d38a8b436123 (diff)
downloadxen-e601453ce6046956507df3efab03a9f767517ea5.tar.gz
xen-e601453ce6046956507df3efab03a9f767517ea5.tar.bz2
xen-e601453ce6046956507df3efab03a9f767517ea5.zip
libxl: Remove libxl_tmem_destroy and associated xl command
Dan Magenheimer explains in <4c2f7fca-dda2-4598-aaab-3a6a3fe532cd@default>: I think the tmem_destroy functionality pre-dates the existence of tmem "freeable" memory* and was a way for a toolset to force the hypervisor to free up the hypervisor memory used by some or all ephemeral tmem pools. Once the tmem allocation/free process was directly linked into alloc_heap_pages() in the hypervisor (see call to tmem_relinquish_pages()), this forcing function was no longer needed. So, bottom line, I *think* it can be ripped out, or at least for now removed from the definition of the stable xl API/UI. The libxl.c routine libxl_tmem_destroy() could also be removed if you like, but I guess I'd prefer to leave the lower level droppings in xc.c and in the hypervisor in case I am misremembering. Accordingly remove this interface from libxl and xl but don't touch libxc or the hypervisor. This is the only libxl_tmem_* function which might potentially have required conversion to be asynchronous and which therefore might have been a potential API stability concern. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>
-rw-r--r--docs/man/xl.pod.14
-rw-r--r--tools/libxl/libxl.c15
-rw-r--r--tools/libxl/libxl.h1
-rw-r--r--tools/libxl/xl.h1
-rw-r--r--tools/libxl/xl_cmdimpl.c32
-rw-r--r--tools/libxl/xl_cmdtable.c6
6 files changed, 0 insertions, 59 deletions
diff --git a/docs/man/xl.pod.1 b/docs/man/xl.pod.1
index e5324fb6e3..6e7a7a082f 100644
--- a/docs/man/xl.pod.1
+++ b/docs/man/xl.pod.1
@@ -1055,10 +1055,6 @@ List tmem pools. If I<-l> is specified, also list tmem stats.
Freeze tmem pools.
-=item B<tmem-destroy> I<domain-id>
-
-Destroy tmem pools.
-
=item B<tmem-thaw> I<domain-id>
Thaw tmem pools.
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 5617060e22..df1fe72969 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -3496,21 +3496,6 @@ int libxl_tmem_freeze(libxl_ctx *ctx, uint32_t domid)
return rc;
}
-int libxl_tmem_destroy(libxl_ctx *ctx, uint32_t domid)
-{
- int rc;
-
- rc = xc_tmem_control(ctx->xch, -1, TMEMC_DESTROY, domid, 0, 0,
- 0, NULL);
- if (rc < 0) {
- LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
- "Can not destroy tmem pools");
- return ERROR_FAIL;
- }
-
- return rc;
-}
-
int libxl_tmem_thaw(libxl_ctx *ctx, uint32_t domid)
{
int rc;
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index edbca535ba..4cccccd531 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -754,7 +754,6 @@ uint32_t libxl_vm_get_start_time(libxl_ctx *ctx, uint32_t domid);
char *libxl_tmem_list(libxl_ctx *ctx, uint32_t domid, int use_long);
int libxl_tmem_freeze(libxl_ctx *ctx, uint32_t domid);
-int libxl_tmem_destroy(libxl_ctx *ctx, uint32_t domid);
int libxl_tmem_thaw(libxl_ctx *ctx, uint32_t domid);
int libxl_tmem_set(libxl_ctx *ctx, uint32_t domid, char* name,
uint32_t set);
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 7e258d5408..f0d0ec8870 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -76,7 +76,6 @@ 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);
-int main_tmem_destroy(int argc, char **argv);
int main_tmem_thaw(int argc, char **argv);
int main_tmem_set(int argc, char **argv);
int main_tmem_shared_auth(int argc, char **argv);
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index b9e7688cd9..ff487498ea 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5384,38 +5384,6 @@ int main_tmem_freeze(int argc, char **argv)
return 0;
}
-int main_tmem_destroy(int argc, char **argv)
-{
- const char *dom = NULL;
- int all = 0;
- int opt;
-
- while ((opt = def_getopt(argc, argv, "a", "tmem-destroy", 0)) != -1) {
- switch (opt) {
- case 0: case 2:
- return opt;
- case 'a':
- all = 1;
- break;
- }
- }
-
- dom = argv[optind];
- if (!dom && all == 0) {
- fprintf(stderr, "You must specify -a or a domain id.\n\n");
- help("tmem-destroy");
- return 1;
- }
-
- if (all)
- domid = -1;
- else
- find_domain(dom);
-
- libxl_tmem_destroy(ctx, domid);
- return 0;
-}
-
int main_tmem_thaw(int argc, char **argv)
{
const char *dom = NULL;
diff --git a/tools/libxl/xl_cmdtable.c b/tools/libxl/xl_cmdtable.c
index 736a8366ed..de8955c1fa 100644
--- a/tools/libxl/xl_cmdtable.c
+++ b/tools/libxl/xl_cmdtable.c
@@ -336,12 +336,6 @@ struct cmd_spec cmd_table[] = {
"[<Domain>|-a]",
" -a Freeze all tmem",
},
- { "tmem-destroy",
- &main_tmem_destroy, 0,
- "Destroy tmem pools",
- "[<Domain>|-a]",
- " -a Destroy all tmem",
- },
{ "tmem-thaw",
&main_tmem_thaw, 0,
"Thaw tmem pools",