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
|