* [PATCH v5 2/5] xl: improve return and exit codes of scheduling related functions
2015-10-27 15:38 [PATCH v5 0/5] xl: convert exit codes to EXIT_[SUCCESS|FAILURE] Harmandeep Kaur
2015-10-27 15:38 ` [PATCH v5 1/5] xl: convert main() " Harmandeep Kaur
@ 2015-10-27 15:38 ` Harmandeep Kaur
2015-10-27 17:11 ` Dario Faggioli
2015-10-27 15:38 ` [PATCH v5 3/5] xl: improve return and exit codes of vcpu " Harmandeep Kaur
2 siblings, 1 reply; 5+ messages in thread
From: Harmandeep Kaur @ 2015-10-27 15:38 UTC (permalink / raw)
To: xen-devel
Cc: lars.kurth, wei.liu2, ian.campbell, stefano.stabellini,
dario.faggioli, ian.jackson, george.dunlap, Harmandeep Kaur
Turning scheduling related functions exit codes towards using the
EXIT_[SUCCESS|FAILURE] constants, instead of instead of arbitrary numbers
or libxl return codes.
- for main_*: arbitrary -> EXIT_SUCCESS|EXIT_FAILURE.
- for internal fucntion: arbitrary -> 0/1.
Signed-off-by: Harmandeep Kaur <write.harmandeep@gmail.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
---
v4->v5: Corrected coding style.
v3->v4: No changes.
v2->v3: Reverted removal of 'rc' in sched_domain_output().
tools/libxl/xl_cmdimpl.c | 139 +++++++++++++++++++++++------------------------
1 file changed, 67 insertions(+), 72 deletions(-)
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 646b281..b101aff 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5793,18 +5793,15 @@ int main_sharing(int argc, char **argv)
static int sched_domain_get(libxl_scheduler sched, int domid,
libxl_domain_sched_params *scinfo)
{
- int rc;
-
- rc = libxl_domain_sched_params_get(ctx, domid, scinfo);
- if (rc) {
+ if (libxl_domain_sched_params_get(ctx, domid, scinfo)) {
fprintf(stderr, "libxl_domain_sched_params_get failed.\n");
- return rc;
+ return 1;
}
if (scinfo->sched != sched) {
fprintf(stderr, "libxl_domain_sched_params_get returned %s not %s.\n",
libxl_scheduler_to_string(scinfo->sched),
libxl_scheduler_to_string(sched));
- return ERROR_INVAL;
+ return 1;
}
return 0;
@@ -5812,42 +5809,38 @@ static int sched_domain_get(libxl_scheduler sched, int domid,
static int sched_domain_set(int domid, const libxl_domain_sched_params *scinfo)
{
- int rc;
-
- rc = libxl_domain_sched_params_set(ctx, domid, scinfo);
- if (rc)
+ if (libxl_domain_sched_params_set(ctx, domid, scinfo)) {
fprintf(stderr, "libxl_domain_sched_params_set failed.\n");
+ return 1;
+ }
- return rc;
+ return 0;
}
static int sched_credit_params_set(int poolid, libxl_sched_credit_params *scinfo)
{
- int rc;
-
- rc = libxl_sched_credit_params_set(ctx, poolid, scinfo);
- if (rc)
+ if (libxl_sched_credit_params_set(ctx, poolid, scinfo)) {
fprintf(stderr, "libxl_sched_credit_params_set failed.\n");
+ return 1;
+ }
- return rc;
+ return 0;
}
static int sched_credit_params_get(int poolid, libxl_sched_credit_params *scinfo)
{
- int rc;
-
- rc = libxl_sched_credit_params_get(ctx, poolid, scinfo);
- if (rc)
+ if (libxl_sched_credit_params_get(ctx, poolid, scinfo)) {
fprintf(stderr, "libxl_sched_credit_params_get failed.\n");
+ return 1;
+ }
- return rc;
+ return 0;
}
static int sched_credit_domain_output(int domid)
{
char *domname;
libxl_domain_sched_params scinfo;
- int rc;
if (domid < 0) {
printf("%-33s %4s %6s %4s\n", "Name", "ID", "Weight", "Cap");
@@ -5855,9 +5848,10 @@ static int sched_credit_domain_output(int domid)
}
libxl_domain_sched_params_init(&scinfo);
- rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT, domid, &scinfo);
- if (rc)
- return rc;
+ if (sched_domain_get(LIBXL_SCHEDULER_CREDIT, domid, &scinfo)) {
+ libxl_domain_sched_params_dispose(&scinfo);
+ return 1;
+ }
domname = libxl_domid_to_name(ctx, domid);
printf("%-33s %4d %6d %4d\n",
domname,
@@ -5873,11 +5867,9 @@ static int sched_credit_pool_output(uint32_t poolid)
{
libxl_sched_credit_params scparam;
char *poolname;
- int rc;
poolname = libxl_cpupoolid_to_name(ctx, poolid);
- rc = sched_credit_params_get(poolid, &scparam);
- if (rc) {
+ if (sched_credit_params_get(poolid, &scparam)) {
printf("Cpupool %s: [sched params unavailable]\n",
poolname);
} else {
@@ -5895,7 +5887,6 @@ static int sched_credit2_domain_output(
{
char *domname;
libxl_domain_sched_params scinfo;
- int rc;
if (domid < 0) {
printf("%-33s %4s %6s\n", "Name", "ID", "Weight");
@@ -5903,9 +5894,10 @@ static int sched_credit2_domain_output(
}
libxl_domain_sched_params_init(&scinfo);
- rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT2, domid, &scinfo);
- if (rc)
- return rc;
+ if (sched_domain_get(LIBXL_SCHEDULER_CREDIT2, domid, &scinfo)) {
+ libxl_domain_sched_params_dispose(&scinfo);
+ return 1;
+ }
domname = libxl_domid_to_name(ctx, domid);
printf("%-33s %4d %6d\n",
domname,
@@ -5921,7 +5913,6 @@ static int sched_rtds_domain_output(
{
char *domname;
libxl_domain_sched_params scinfo;
- int rc = 0;
if (domid < 0) {
printf("%-33s %4s %9s %9s\n", "Name", "ID", "Period", "Budget");
@@ -5929,9 +5920,10 @@ static int sched_rtds_domain_output(
}
libxl_domain_sched_params_init(&scinfo);
- rc = sched_domain_get(LIBXL_SCHEDULER_RTDS, domid, &scinfo);
- if (rc)
- goto out;
+ if (sched_domain_get(LIBXL_SCHEDULER_RTDS, domid, &scinfo)) {
+ libxl_domain_sched_params_dispose(&scinfo);
+ return 1;
+ }
domname = libxl_domid_to_name(ctx, domid);
printf("%-33s %4d %9d %9d\n",
@@ -5940,10 +5932,8 @@ static int sched_rtds_domain_output(
scinfo.period,
scinfo.budget);
free(domname);
-
-out:
libxl_domain_sched_params_dispose(&scinfo);
- return rc;
+ return 0;
}
static int sched_rtds_pool_output(uint32_t poolid)
@@ -5981,7 +5971,7 @@ static int sched_domain_output(libxl_scheduler sched, int (*output)(int),
if (libxl_cpupool_qualifier_to_cpupoolid(ctx, cpupool, &poolid, NULL) ||
!libxl_cpupoolid_is_valid(ctx, poolid)) {
fprintf(stderr, "unknown cpupool \'%s\'\n", cpupool);
- return -ERROR_FAIL;
+ return 1;
}
}
@@ -5994,7 +5984,7 @@ static int sched_domain_output(libxl_scheduler sched, int (*output)(int),
if (!poolinfo) {
fprintf(stderr, "error getting cpupool info\n");
libxl_dominfo_list_free(info, nb_domain);
- return -ERROR_NOMEM;
+ return 1;
}
for (p = 0; !rc && (p < n_pools); p++) {
@@ -6080,16 +6070,16 @@ int main_sched_credit(int argc, char **argv)
if ((cpupool || opt_s) && (dom || opt_w || opt_c)) {
fprintf(stderr, "Specifying a cpupool or schedparam is not "
"allowed with domain options.\n");
- return 1;
+ return EXIT_FAILURE;
}
if (!dom && (opt_w || opt_c)) {
fprintf(stderr, "Must specify a domain.\n");
- return 1;
+ return EXIT_FAILURE;
}
if (!opt_s && (opt_t || opt_r)) {
fprintf(stderr, "Must specify schedparam to set schedule "
"parameter values.\n");
- return 1;
+ return EXIT_FAILURE;
}
if (opt_s) {
@@ -6101,16 +6091,16 @@ int main_sched_credit(int argc, char **argv)
&poolid, NULL) ||
!libxl_cpupoolid_is_valid(ctx, poolid)) {
fprintf(stderr, "unknown cpupool \'%s\'\n", cpupool);
- return -ERROR_FAIL;
+ return EXIT_FAILURE;
}
}
if (!opt_t && !opt_r) { /* Output scheduling parameters */
- return -sched_credit_pool_output(poolid);
+ if (sched_credit_pool_output(poolid))
+ return EXIT_FAILURE;
} else { /* Set scheduling parameters*/
- rc = sched_credit_params_get(poolid, &scparam);
- if (rc)
- return -rc;
+ if (sched_credit_params_get(poolid, &scparam))
+ return EXIT_FAILURE;
if (opt_t)
scparam.tslice_ms = tslice;
@@ -6118,21 +6108,22 @@ int main_sched_credit(int argc, char **argv)
if (opt_r)
scparam.ratelimit_us = ratelimit;
- rc = sched_credit_params_set(poolid, &scparam);
- if (rc)
- return -rc;
+ if (sched_credit_params_set(poolid, &scparam))
+ return EXIT_FAILURE;
}
} else if (!dom) { /* list all domain's credit scheduler info */
- return -sched_domain_output(LIBXL_SCHEDULER_CREDIT,
+ if (sched_domain_output(LIBXL_SCHEDULER_CREDIT,
sched_credit_domain_output,
sched_credit_pool_output,
- cpupool);
+ cpupool))
+ return EXIT_FAILURE;
} else {
uint32_t domid = find_domain(dom);
if (!opt_w && !opt_c) { /* output credit scheduler info */
sched_credit_domain_output(-1);
- return -sched_credit_domain_output(domid);
+ if (sched_credit_domain_output(domid))
+ return EXIT_FAILURE;
} else { /* set credit scheduler paramaters */
libxl_domain_sched_params scinfo;
libxl_domain_sched_params_init(&scinfo);
@@ -6144,11 +6135,11 @@ int main_sched_credit(int argc, char **argv)
rc = sched_domain_set(domid, &scinfo);
libxl_domain_sched_params_dispose(&scinfo);
if (rc)
- return -rc;
+ return EXIT_FAILURE;
}
}
- return 0;
+ return EXIT_SUCCESS;
}
int main_sched_credit2(int argc, char **argv)
@@ -6180,24 +6171,26 @@ int main_sched_credit2(int argc, char **argv)
if (cpupool && (dom || opt_w)) {
fprintf(stderr, "Specifying a cpupool is not allowed with other "
"options.\n");
- return 1;
+ return EXIT_FAILURE;
}
if (!dom && opt_w) {
fprintf(stderr, "Must specify a domain.\n");
- return 1;
+ return EXIT_FAILURE;
}
if (!dom) { /* list all domain's credit scheduler info */
- return -sched_domain_output(LIBXL_SCHEDULER_CREDIT2,
+ if (sched_domain_output(LIBXL_SCHEDULER_CREDIT2,
sched_credit2_domain_output,
sched_default_pool_output,
- cpupool);
+ cpupool))
+ return EXIT_FAILURE;
} else {
uint32_t domid = find_domain(dom);
if (!opt_w) { /* output credit2 scheduler info */
sched_credit2_domain_output(-1);
- return -sched_credit2_domain_output(domid);
+ if (sched_credit2_domain_output(domid))
+ return EXIT_FAILURE;
} else { /* set credit2 scheduler paramaters */
libxl_domain_sched_params scinfo;
libxl_domain_sched_params_init(&scinfo);
@@ -6207,11 +6200,11 @@ int main_sched_credit2(int argc, char **argv)
rc = sched_domain_set(domid, &scinfo);
libxl_domain_sched_params_dispose(&scinfo);
if (rc)
- return -rc;
+ return EXIT_FAILURE;
}
}
- return 0;
+ return EXIT_SUCCESS;
}
/*
@@ -6256,27 +6249,29 @@ int main_sched_rtds(int argc, char **argv)
if (cpupool && (dom || opt_p || opt_b)) {
fprintf(stderr, "Specifying a cpupool is not allowed with "
"other options.\n");
- return 1;
+ return EXIT_FAILURE;
}
if (!dom && (opt_p || opt_b)) {
fprintf(stderr, "Must specify a domain.\n");
- return 1;
+ return EXIT_FAILURE;
}
if (opt_p != opt_b) {
fprintf(stderr, "Must specify period and budget\n");
- return 1;
+ return EXIT_FAILURE;
}
if (!dom) { /* list all domain's rt scheduler info */
- return -sched_domain_output(LIBXL_SCHEDULER_RTDS,
+ if (sched_domain_output(LIBXL_SCHEDULER_RTDS,
sched_rtds_domain_output,
sched_rtds_pool_output,
- cpupool);
+ cpupool))
+ return EXIT_FAILURE;
} else {
uint32_t domid = find_domain(dom);
if (!opt_p && !opt_b) { /* output rt scheduler info */
sched_rtds_domain_output(-1);
- return -sched_rtds_domain_output(domid);
+ if (sched_rtds_domain_output(domid))
+ return EXIT_FAILURE;
} else { /* set rt scheduler paramaters */
libxl_domain_sched_params scinfo;
libxl_domain_sched_params_init(&scinfo);
@@ -6287,11 +6282,11 @@ int main_sched_rtds(int argc, char **argv)
rc = sched_domain_set(domid, &scinfo);
libxl_domain_sched_params_dispose(&scinfo);
if (rc)
- return -rc;
+ return EXIT_FAILURE;
}
}
- return 0;
+ return EXIT_SUCCESS;
}
int main_domid(int argc, char **argv)
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v5 3/5] xl: improve return and exit codes of vcpu related functions
2015-10-27 15:38 [PATCH v5 0/5] xl: convert exit codes to EXIT_[SUCCESS|FAILURE] Harmandeep Kaur
2015-10-27 15:38 ` [PATCH v5 1/5] xl: convert main() " Harmandeep Kaur
2015-10-27 15:38 ` [PATCH v5 2/5] xl: improve return and exit codes of scheduling related functions Harmandeep Kaur
@ 2015-10-27 15:38 ` Harmandeep Kaur
2 siblings, 0 replies; 5+ messages in thread
From: Harmandeep Kaur @ 2015-10-27 15:38 UTC (permalink / raw)
To: xen-devel
Cc: lars.kurth, wei.liu2, ian.campbell, stefano.stabellini,
dario.faggioli, ian.jackson, george.dunlap, Harmandeep Kaur
Turning vcpu manipulation functions exit codes toward using the
EXIT_[SUCCESS|FAILURE] constants, instead of instead of arbitrary numbers
or libxl return codes.
Signed-off-by: Harmandeep Kaur <write.harmandeep@gmail.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
---
v4->v5: Corrected coding style.
v3->v4: No changes.
v2->v3: Fixed return of main_vcpuset.
tools/libxl/xl_cmdimpl.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index b101aff..1dae28f 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5316,7 +5316,7 @@ int main_vcpulist(int argc, char **argv)
}
vcpulist(argc - optind, argv + optind);
- return 0;
+ return EXIT_SUCCESS;
}
int main_vcpupin(int argc, char **argv)
@@ -5332,7 +5332,7 @@ int main_vcpupin(int argc, char **argv)
long vcpuid;
const char *vcpu, *hard_str, *soft_str;
char *endptr;
- int opt, nb_cpu, nb_vcpu, rc = -1;
+ int opt, nb_cpu, nb_vcpu, rc = EXIT_FAILURE;
libxl_bitmap_init(&cpumap_hard);
libxl_bitmap_init(&cpumap_soft);
@@ -5407,10 +5407,10 @@ int main_vcpupin(int argc, char **argv)
if (ferror(stdout) || fflush(stdout)) {
perror("stdout");
- exit(-1);
+ exit(EXIT_FAILURE);
}
- rc = 0;
+ rc = EXIT_SUCCESS;
goto out;
}
@@ -5430,7 +5430,7 @@ int main_vcpupin(int argc, char **argv)
libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
}
- rc = 0;
+ rc = EXIT_SUCCESS;
out:
libxl_bitmap_dispose(&cpumap_soft);
libxl_bitmap_dispose(&cpumap_hard);
@@ -5459,8 +5459,7 @@ static int vcpuset(uint32_t domid, const char* nr_vcpus, int check_host)
unsigned int host_cpu = libxl_get_max_cpus(ctx);
libxl_dominfo dominfo;
- rc = libxl_domain_info(ctx, &dominfo, domid);
- if (rc)
+ if (libxl_domain_info(ctx, &dominfo, domid))
return 1;
if (max_vcpus > dominfo.vcpu_online && max_vcpus > host_cpu) {
@@ -5473,8 +5472,7 @@ static int vcpuset(uint32_t domid, const char* nr_vcpus, int check_host)
if (rc)
return 1;
}
- rc = libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus);
- if (rc) {
+ if (libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus)) {
fprintf(stderr, "libxl_cpu_bitmap_alloc failed, rc: %d\n", rc);
return 1;
}
@@ -5508,7 +5506,10 @@ int main_vcpuset(int argc, char **argv)
break;
}
- return vcpuset(find_domain(argv[optind]), argv[optind + 1], check_host);
+ if (vcpuset(find_domain(argv[optind]), argv[optind + 1], check_host))
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
}
static void output_xeninfo(void)
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread