From: Harmandeep Kaur <write.harmandeep@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: lars.kurth@citrix.com, wei.liu2@citrix.com,
ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com,
dario.faggioli@citrix.com, ian.jackson@eu.citrix.com,
george.dunlap@citrix.com,
Harmandeep Kaur <write.harmandeep@gmail.com>
Subject: [PATCH v3 2/5] xl: improve return and exit codes of scheduling related functions
Date: Tue, 27 Oct 2015 15:20:49 +0530 [thread overview]
Message-ID: <1445939452-8091-3-git-send-email-write.harmandeep@gmail.com> (raw)
In-Reply-To: <1445939452-8091-1-git-send-email-write.harmandeep@gmail.com>
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>
---
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
next prev parent reply other threads:[~2015-10-27 9:52 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-27 9:50 [PATCH v3 0/5] xl: convert exit codes to EXIT_[SUCCESS|FAILURE] Harmandeep Kaur
2015-10-27 9:50 ` [PATCH v3 1/5] xl: convert main() " Harmandeep Kaur
2015-10-27 11:11 ` Wei Liu
2015-10-27 11:20 ` Dario Faggioli
2015-10-27 9:50 ` Harmandeep Kaur [this message]
2015-10-27 11:25 ` [PATCH v3 2/5] xl: improve return and exit codes of scheduling related functions Dario Faggioli
2015-10-27 9:50 ` [PATCH v3 3/5] xl: improve return and exit codes of vcpu " Harmandeep Kaur
2015-10-27 11:27 ` Dario Faggioli
2015-10-27 9:50 ` [PATCH v3 4/5] xl: improve return and exit codes of cpupool " Harmandeep Kaur
2015-10-27 11:29 ` Dario Faggioli
2015-10-27 9:50 ` [PATCH v3 5/5] xl: improve return and exit codes of parse " Harmandeep Kaur
2015-10-27 11:41 ` Dario Faggioli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1445939452-8091-3-git-send-email-write.harmandeep@gmail.com \
--to=write.harmandeep@gmail.com \
--cc=dario.faggioli@citrix.com \
--cc=george.dunlap@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=lars.kurth@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).