diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2012-04-16 16:00:47 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2012-04-16 16:00:47 +0100 |
commit | e601453ce6046956507df3efab03a9f767517ea5 (patch) | |
tree | 6c566b8d8bdb71a1756321f8953157e5e68bc0c4 | |
parent | 663448101e80c738e486e41b4d40d38a8b436123 (diff) | |
download | xen-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.1 | 4 | ||||
-rw-r--r-- | tools/libxl/libxl.c | 15 | ||||
-rw-r--r-- | tools/libxl/libxl.h | 1 | ||||
-rw-r--r-- | tools/libxl/xl.h | 1 | ||||
-rw-r--r-- | tools/libxl/xl_cmdimpl.c | 32 | ||||
-rw-r--r-- | tools/libxl/xl_cmdtable.c | 6 |
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", |