# HG changeset patch # User Juergen Gross # Date 1322483011 -3600 # Node ID 3a817a14e6a29657c8f798987ccb1568a586ea70 # Parent 95d4e2e0bed374602b5a78ee004b057ad8715d65 xl sched-credit: support long options The help text of xl sched-credit supported long options. Neither the man page nor the implementation did. Signed-off-by: juergen.gross@xxxxxxxxxxxxxx diff -r 95d4e2e0bed3 -r 3a817a14e6a2 docs/man/xl.pod.1 --- a/docs/man/xl.pod.1 Fri Nov 25 20:32:05 2011 +0000 +++ b/docs/man/xl.pod.1 Mon Nov 28 13:23:31 2011 +0100 @@ -579,25 +579,30 @@ default B is used for scheduling =over 4 -=item B [ B<-d> I [ B<-w>[B<=>I] | B<-c>[B<=>I] ] ] +=item B [I] -Set credit scheduler parameters. The credit scheduler is a +Set or get credit scheduler parameters. The credit scheduler is a proportional fair share CPU scheduler built from the ground up to be work conserving on SMP hosts. Each domain (including Domain0) is assigned a weight and a cap. -B +B =over 4 -=item I +=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<-w WEIGHT>, B<--weight=WEIGHT> 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. -=item I +=item B<-c CAP>, B<--cap=CAP> The cap optionally fixes the maximum amount of CPU a domain will be able to consume, even if the host system has idle CPU cycles. The cap diff -r 95d4e2e0bed3 -r 3a817a14e6a2 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Fri Nov 25 20:32:05 2011 +0000 +++ b/tools/libxl/xl_cmdimpl.c Mon Nov 28 13:23:31 2011 +0100 @@ -3720,8 +3720,19 @@ int main_sched_credit(int argc, char **a const char *dom = NULL; int weight = 256, cap = 0, opt_w = 0, opt_c = 0; int opt, rc; - - while ((opt = def_getopt(argc, argv, "d:w:c:", "sched-credit", 0)) != -1) { + int option_index = 0; + static struct option long_options[] = { + {"domain", 1, 0, 'd'}, + {"weight", 1, 0, 'w'}, + {"cap", 1, 0, 'c'}, + {"help", 0, 0, 'h'}, + {0, 0, 0, 0} + }; + + while (1) { + opt = getopt_long(argc, argv, "d:w:c:h", long_options, &option_index); + if (opt == -1) + break; switch (opt) { case 0: case 2: return opt; @@ -3736,6 +3747,9 @@ int main_sched_credit(int argc, char **a cap = strtol(optarg, NULL, 10); opt_c = 1; break; + case 'h': + help("sched-credit"); + return 0; } }