[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v4 6/7] xl: get rid of the SEDF scheduler



Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 docs/man/xl.cfg.pod.5     |   24 --------
 docs/man/xl.pod.1         |   42 --------------
 tools/libxl/xl.h          |    1 
 tools/libxl/xl_cmdimpl.c  |  139 ---------------------------------------------
 tools/libxl/xl_cmdtable.c |   16 -----
 5 files changed, 1 insertion(+), 221 deletions(-)

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index a3e0e2e..27e7643 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -198,7 +198,7 @@ For more details, see 
F<docs/misc/xl-numa-placement.markdown>.
 A domain with a weight of 512 will get twice as much CPU as a domain
 with a weight of 256 on a contended host.
 Legal weights range from 1 to 65535 and the default is 256.
-Honoured by the credit, credit2 and sedf schedulers.
+Honoured by the credit and credit2 schedulers.
 
 =item B<cap=N>
 
@@ -222,28 +222,6 @@ that your VM gets 25% of the available power (50% of 1GHz) 
rather than
 look at performance and cpufreq options in your operating system and
 your BIOS.
 
-=item B<period=NANOSECONDS>
-
-The normal EDF scheduling usage in nanoseconds. This means every period
-the domain gets cpu time defined in slice.
-Honoured by the sedf scheduler.
-
-=item B<slice=NANOSECONDS>
-
-The normal EDF scheduling usage in nanoseconds. it defines the time 
-a domain get every period time.
-Honoured by the sedf scheduler.
-
-=item B<latency=N>
-
-Scaled period if domain is doing heavy I/O.
-Honoured by the sedf scheduler.
-
-=item B<extratime=BOOLEAN>
-
-Flag for allowing domain to run in extra time.
-Honoured by the sedf scheduler.
-
 =back
 
 =head3 Memory Allocation
diff --git a/docs/man/xl.pod.1 b/docs/man/xl.pod.1
index 4eb929d..7951aff 100644
--- a/docs/man/xl.pod.1
+++ b/docs/man/xl.pod.1
@@ -1031,48 +1031,6 @@ Restrict output to domains in the specified cpupool.
 
 =back
 
-=item B<sched-sedf> [I<OPTIONS>]
-
-Set or get Simple EDF (Earliest Deadline First) scheduler parameters. This
-scheduler provides weighted CPU sharing in an intuitive way and uses
-realtime-algorithms to ensure time guarantees.  For more information see
-docs/misc/sedf_scheduler_mini-HOWTO.txt in the Xen distribution.
-
-B<OPTIONS>
-
-=over 4
-
-=item B<-d DOMAIN>, B<--domain=DOMAIN>
-
-Specify domain for which scheduler parameters are to be modified or retrieved.
-Mandatory for modifying scheduler parameters.
-
-=item B<-p PERIOD>, B<--period=PERIOD>
-
-The normal EDF scheduling usage in milliseconds.
-
-=item B<-s SLICE>, B<--slice=SLICE>
-
-The normal EDF scheduling usage in milliseconds.
-
-=item B<-l LATENCY>, B<--latency=LATENCY>
-
-Scaled period if domain is doing heavy I/O.
-
-=item B<-e EXTRA>, B<--extra=EXTRA>
-
-Flag for allowing domain to run in extra time (0 or 1).
-
-=item B<-w WEIGHT>, B<--weight=WEIGHT>
-
-Another way of setting CPU slice.
-
-=item B<-c CPUPOOL>, B<--cpupool=CPUPOOL>
-
-Restrict output to domains in the specified cpupool.
-
-=back
-
 =item B<sched-rtds> [I<OPTIONS>]
 
 Set or get rtds (Real Time Deferrable Server) scheduler parameters.
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 5bc138c..fe44b86 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -66,7 +66,6 @@ int main_memmax(int argc, char **argv);
 int main_memset(int argc, char **argv);
 int main_sched_credit(int argc, char **argv);
 int main_sched_credit2(int argc, char **argv);
-int main_sched_sedf(int argc, char **argv);
 int main_sched_rtds(int argc, char **argv);
 int main_domid(int argc, char **argv);
 int main_domname(int argc, char **argv);
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 08484e4..cf70bc6 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5761,37 +5761,6 @@ static int sched_credit2_domain_output(
     return 0;
 }
 
-static int sched_sedf_domain_output(
-    int domid)
-{
-    char *domname;
-    libxl_domain_sched_params scinfo;
-    int rc;
-
-    if (domid < 0) {
-        printf("%-33s %4s %6s %-6s %7s %5s %6s\n", "Name", "ID", "Period",
-               "Slice", "Latency", "Extra", "Weight");
-        return 0;
-    }
-
-    libxl_domain_sched_params_init(&scinfo);
-    rc = sched_domain_get(LIBXL_SCHEDULER_SEDF, domid, &scinfo);
-    if (rc)
-        return rc;
-    domname = libxl_domid_to_name(ctx, domid);
-    printf("%-33s %4d %6d %6d %7d %5d %6d\n",
-        domname,
-        domid,
-        scinfo.period,
-        scinfo.slice,
-        scinfo.latency,
-        scinfo.extratime,
-        scinfo.weight);
-    free(domname);
-    libxl_domain_sched_params_dispose(&scinfo);
-    return 0;
-}
-
 static int sched_rtds_domain_output(
     int domid)
 {
@@ -6092,114 +6061,6 @@ int main_sched_credit2(int argc, char **argv)
     return 0;
 }
 
-int main_sched_sedf(int argc, char **argv)
-{
-    const char *dom = NULL;
-    const char *cpupool = NULL;
-    int period = 0, opt_p = 0;
-    int slice = 0, opt_s = 0;
-    int latency = 0, opt_l = 0;
-    int extra = 0, opt_e = 0;
-    int weight = 0, opt_w = 0;
-    int opt, rc;
-    static struct option opts[] = {
-        {"period", 1, 0, 'p'},
-        {"slice", 1, 0, 's'},
-        {"latency", 1, 0, 'l'},
-        {"extra", 1, 0, 'e'},
-        {"weight", 1, 0, 'w'},
-        {"cpupool", 1, 0, 'c'},
-        COMMON_LONG_OPTS,
-        {0, 0, 0, 0}
-    };
-
-    SWITCH_FOREACH_OPT(opt, "d:p:s:l:e:w:c:h", opts, "sched-sedf", 0) {
-    case 'd':
-        dom = optarg;
-        break;
-    case 'p':
-        period = strtol(optarg, NULL, 10);
-        opt_p = 1;
-        break;
-    case 's':
-        slice = strtol(optarg, NULL, 10);
-        opt_s = 1;
-        break;
-    case 'l':
-        latency = strtol(optarg, NULL, 10);
-        opt_l = 1;
-        break;
-    case 'e':
-        extra = strtol(optarg, NULL, 10);
-        opt_e = 1;
-        break;
-    case 'w':
-        weight = strtol(optarg, NULL, 10);
-        opt_w = 1;
-        break;
-    case 'c':
-        cpupool = optarg;
-        break;
-    }
-
-    if (cpupool && (dom || opt_p || opt_s || opt_l || opt_e || opt_w)) {
-        fprintf(stderr, "Specifying a cpupool is not allowed with other "
-                "options.\n");
-        return 1;
-    }
-    if (!dom && (opt_p || opt_s || opt_l || opt_e || opt_w)) {
-        fprintf(stderr, "Must specify a domain.\n");
-        return 1;
-    }
-    if (opt_w && (opt_p || opt_s)) {
-        fprintf(stderr, "Specifying a weight AND period or slice is not "
-                "allowed.\n");
-    }
-
-    if (!dom) { /* list all domain's credit scheduler info */
-        return -sched_domain_output(LIBXL_SCHEDULER_SEDF,
-                                    sched_sedf_domain_output,
-                                    sched_default_pool_output,
-                                    cpupool);
-    } else {
-        uint32_t domid = find_domain(dom);
-
-        if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
-            /* output sedf scheduler info */
-            sched_sedf_domain_output(-1);
-            return -sched_sedf_domain_output(domid);
-        } else { /* set sedf scheduler paramaters */
-            libxl_domain_sched_params scinfo;
-            libxl_domain_sched_params_init(&scinfo);
-            scinfo.sched = LIBXL_SCHEDULER_SEDF;
-
-            if (opt_p) {
-                scinfo.period = period;
-                scinfo.weight = 0;
-            }
-            if (opt_s) {
-                scinfo.slice = slice;
-                scinfo.weight = 0;
-            }
-            if (opt_l)
-                scinfo.latency = latency;
-            if (opt_e)
-                scinfo.extratime = extra;
-            if (opt_w) {
-                scinfo.weight = weight;
-                scinfo.period = 0;
-                scinfo.slice = 0;
-            }
-            rc = sched_domain_set(domid, &scinfo);
-            libxl_domain_sched_params_dispose(&scinfo);
-            if (rc)
-                return -rc;
-        }
-    }
-
-    return 0;
-}
-
 /*
  * <nothing>            : List all domain paramters and sched params
  * -d [domid]           : List domain params for domain
diff --git a/tools/libxl/xl_cmdtable.c b/tools/libxl/xl_cmdtable.c
index 7f4759b..0a42456 100644
--- a/tools/libxl/xl_cmdtable.c
+++ b/tools/libxl/xl_cmdtable.c
@@ -265,22 +265,6 @@ struct cmd_spec cmd_table[] = {
       "-w WEIGHT, --weight=WEIGHT     Weight (int)\n"
       "-p CPUPOOL, --cpupool=CPUPOOL  Restrict output to CPUPOOL"
     },
-    { "sched-sedf",
-      &main_sched_sedf, 0, 1,
-      "Get/set sedf scheduler parameters",
-      "[options]",
-      "-d DOMAIN, --domain=DOMAIN     Domain to modify\n"
-      "-p MS, --period=MS             Relative deadline(ms)\n"
-      "-s MS, --slice=MS              Worst-case execution time(ms).\n"
-      "                               (slice < period)\n"
-      "-l MS, --latency=MS            Scaled period (ms) when domain\n"
-      "                               performs heavy I/O\n"
-      "-e FLAG, --extra=FLAG          Flag (0 or 1) controls if domain\n"
-      "                               can run in extra time\n"
-      "-w FLOAT, --weight=FLOAT       CPU Period/slice (do not set with\n"
-      "                               --period/--slice)\n"
-      "-c CPUPOOL, --cpupool=CPUPOOL  Restrict output to CPUPOOL"
-    },
     { "sched-rtds",
       &main_sched_rtds, 0, 1,
       "Get/set rtds scheduler parameters",


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.