Hi,
The "xm sched-credit" command has no checking function for 
a value of its "weight" and "cap" option.  I tested them with 
wrong values and the results were as follows.
Weight option:
 # xm list
 Name                              ID Mem(MiB) VCPUs State  Time(s)
 Domain-0                           0      873     2 r-----    65.0
 vm1                                1      128     1 -b----     0.3
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -w -1
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 65535}
 # xm sched-credit -d vm1 -w 0
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 65535}
 # xm sched-credit -d vm1 -w -2
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 65534}
 # xm sched-credit -d vm1 -w 65536
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 65534}
 # xm sched-credit -d vm1 -w 65537
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 1}
Cap option:
 # xm list
 Name                              ID Mem(MiB) VCPUs State  Time(s)
 Domain-0                           0      873     2 r-----    73.3
 vm1                                1      128     1 -b----    25.4
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -c -1
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -c -2
 # xm sched-credit -d vm1
 {'cap': 65534, 'weight': 256}
 # xm sched-credit -d vm1 -c 101
 # xm sched-credit -d vm1
 {'cap': 101, 'weight': 256}
This patch adds value checking of options. The results of 
this patch are as follows.
Weigth option:
 # xm list
 Name                              ID Mem(MiB) VCPUs State  Time(s)
 Domain-0                           0      874     2 r-----    76.9
 vm1                                1      128     1 -b----    26.6
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -w -1
 Error: weight is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -w 0
 Error: weight is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -w -2
 Error: weight is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -w 65536
 Error: weight is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -w 65537
 Error: weight is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -w 65535
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 65535}
 # xm sched-credit -d vm1 -w 1
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 1}
Cap option:
 # xm list
 Name                              ID Mem(MiB) VCPUs State  Time(s)
 Domain-0                           0      874     2 r-----    80.5
 vm1                                1      128     1 -b----    26.6
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -c -1
 Error: cap is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -c -2
 Error: cap is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -c 101
 Error: cap is out of range
 # xm sched-credit -d vm1
 {'cap': 0, 'weight': 256}
 # xm sched-credit -d vm1 -c 100
 # xm sched-credit -d vm1
 {'cap': 100, 'weight': 256}
Signed-off-by: Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx>
Best regards,
 Kan
 
credit_limit.patch 
Description: Binary data 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |