On Mon, Feb 27, 2017 at 03:22:56PM +0800, Eli Qiao wrote:
Add new virsh command line `nodecachestats` to expose the cache
usage
on a node.
Testing:
Setup: one guest with 3072 bytes reserved for it.
Test-1: start libvirt with free cache.
resctrlfs default: L3:0=fffff;1=fffff
# LD_LIBRARY_PATH=/root/git/libvirt/src/.libs/ ./virshnodegetcachestats
ret=0 nparams=10
L3.0: 13824
L3.1: 13824
Result: correct.
Test-2: start libvirt with a manual reservation in place
(sharing space with default reservation, which is a
valid scenario).
./schemata: L3:0=fffff;1=fffff
./manualres/schemata: L3:0=f;1=f
How many bytes free there are to allocate?
Mask 0xffff0 is free. Bytes = 12288.
After start libvirt daemon:
Value of resctrlfs files:
./schemata: L3:0=fffff;1=fffff
./manualres/schemata: L3:0=f;1=f
Run cmd:
# LD_LIBRARY_PATH=/root/git/libvirt/src/.libs/ /root/git/virshnodegetcachestats
ret=0 nparams=10
L3.0: 0
L3.1: 0
./schemata: L3:0=3;1=3
./manualres/schemata: L3:0=f;1=f
Result: incorrect.
Test-3: start libvirt with a manual reservation in place
(not sharing space with default reservation):
./schemata: L3:0=ffff0;1=ffff0
./manualres/schemata: L3:0=f;1=f
How many bytes free there are to allocate?
Mask 0xffff0 is free. Bytes = 12288.
./schemata: L3:0=ffff0;1=ffff0
./manualres/schemata: L3:0=f;1=f
# LD_LIBRARY_PATH=/root/git/libvirt/src/.libs/ /root/git/virshnodegetcachestats
ret=0 nparams=10
L3.0: 0
L3.1: 0
So the interface is very buggy, please fix it (and execute the tests
above to make sure it is fixed).