* [PATCH] tools/libs/light: Remove unnecessary libxl_list_vm() call
@ 2021-04-19 13:01 Costin Lupu
2021-04-21 10:08 ` Wei Liu
0 siblings, 1 reply; 2+ messages in thread
From: Costin Lupu @ 2021-04-19 13:01 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Wei Liu, Anthony PERARD
The removed lines were initially added by commit 314e64084d31, but the
subsequent code which was using the nb_vm variable was later removed by
commit 2ba368d13893, which makes these lines of code an overlooked
reminiscence. Moreover, the call becomes very expensive when there is a
considerable number of VMs (~1000 instances) running on the host.
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
tools/libs/light/libxl_create.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 0c64268f66..43e9ba9c63 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -578,7 +578,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
uint32_t *domid, bool soft_reset)
{
libxl_ctx *ctx = libxl__gc_owner(gc);
- int ret, rc, nb_vm;
+ int ret, rc;
const char *dom_type;
char *uuid_string;
char *dom_path, *vm_path, *libxl_path;
@@ -586,7 +586,6 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
struct xs_permissions rwperm[1];
struct xs_permissions noperm[1];
xs_transaction_t t = 0;
- libxl_vminfo *vm_list;
/* convenience aliases */
libxl_domain_create_info *info = &d_config->c_info;
@@ -869,14 +868,6 @@ retry_transaction:
ARRAY_SIZE(rwperm));
}
- vm_list = libxl_list_vm(ctx, &nb_vm);
- if (!vm_list) {
- LOGD(ERROR, *domid, "cannot get number of running guests");
- rc = ERROR_FAIL;
- goto out;
- }
- libxl_vminfo_list_free(vm_list, nb_vm);
-
xs_write(ctx->xsh, t, GCSPRINTF("%s/uuid", vm_path), uuid_string, strlen(uuid_string));
xs_write(ctx->xsh, t, GCSPRINTF("%s/name", vm_path), info->name, strlen(info->name));
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] tools/libs/light: Remove unnecessary libxl_list_vm() call
2021-04-19 13:01 [PATCH] tools/libs/light: Remove unnecessary libxl_list_vm() call Costin Lupu
@ 2021-04-21 10:08 ` Wei Liu
0 siblings, 0 replies; 2+ messages in thread
From: Wei Liu @ 2021-04-21 10:08 UTC (permalink / raw)
To: Costin Lupu; +Cc: xen-devel, Ian Jackson, Wei Liu, Anthony PERARD
On Mon, Apr 19, 2021 at 04:01:42PM +0300, Costin Lupu wrote:
> The removed lines were initially added by commit 314e64084d31, but the
> subsequent code which was using the nb_vm variable was later removed by
> commit 2ba368d13893, which makes these lines of code an overlooked
> reminiscence. Moreover, the call becomes very expensive when there is a
> considerable number of VMs (~1000 instances) running on the host.
>
Nice catch.
> Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Acked-by: Wei Liu <wl@xen.org>
> ---
> tools/libs/light/libxl_create.c | 11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
> index 0c64268f66..43e9ba9c63 100644
> --- a/tools/libs/light/libxl_create.c
> +++ b/tools/libs/light/libxl_create.c
> @@ -578,7 +578,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
> uint32_t *domid, bool soft_reset)
> {
> libxl_ctx *ctx = libxl__gc_owner(gc);
> - int ret, rc, nb_vm;
> + int ret, rc;
> const char *dom_type;
> char *uuid_string;
> char *dom_path, *vm_path, *libxl_path;
> @@ -586,7 +586,6 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
> struct xs_permissions rwperm[1];
> struct xs_permissions noperm[1];
> xs_transaction_t t = 0;
> - libxl_vminfo *vm_list;
>
> /* convenience aliases */
> libxl_domain_create_info *info = &d_config->c_info;
> @@ -869,14 +868,6 @@ retry_transaction:
> ARRAY_SIZE(rwperm));
> }
>
> - vm_list = libxl_list_vm(ctx, &nb_vm);
> - if (!vm_list) {
> - LOGD(ERROR, *domid, "cannot get number of running guests");
> - rc = ERROR_FAIL;
> - goto out;
> - }
> - libxl_vminfo_list_free(vm_list, nb_vm);
> -
> xs_write(ctx->xsh, t, GCSPRINTF("%s/uuid", vm_path), uuid_string, strlen(uuid_string));
> xs_write(ctx->xsh, t, GCSPRINTF("%s/name", vm_path), info->name, strlen(info->name));
>
> --
> 2.20.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-21 10:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-19 13:01 [PATCH] tools/libs/light: Remove unnecessary libxl_list_vm() call Costin Lupu
2021-04-21 10:08 ` Wei Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).