On Mon, Feb 06, 2017 at 01:33:09PM -0200, Marcelo Tosatti wrote:
On Mon, Feb 06, 2017 at 10:23:35AM +0800, Eli Qiao wrote:
> This series patches are for supportting CAT featues, which also
> called cache tune in libvirt.
>
> First to expose cache information which could be tuned in capabilites XML.
> Then add new domain xml element support to add cacahe bank which will apply
> on this libvirt domain.
>
> This series patches add a util file `resctrl.c/h`, an interface to talk with
> linux kernel's sys fs.
>
> There are still some TODOs such as expose new public interface to get free
> cache information.
>
> Some discussion about this feature support can be found from:
>
https://www.redhat.com/archives/libvir-list/2017-January/msg00644.html
Two comments:
1) Please perform appropriate filesystem locking when accessing
resctrlfs, as described at:
http://www.spinics.net/lists/linux-tip-commits/msg36754.html
2)
<cachetune id='10' host_id='1' type='l3'
size='3072' unit='KiB'/>
[b4c270b5-e0f9-4106-a446-69032872ed7d]# cat tasks
8654
[b4c270b5-e0f9-4106-a446-69032872ed7d]# pstree -p | grep qemu
|-qemu-kvm(8654)-+-{qemu-kvm}(8688)
| |-{qemu-kvm}(8692)
| `-{qemu-kvm}(8693)
Should add individual vcpus to the "tasks" file, not the main QEMU
process.
The NFV usecase requires exclusive CAT allocation for the vcpu which
runs the sensitive workload.
Perhaps:
<cachetune id='10' host_id='1' type='l3'
size='3072' unit='KiB'/>
Adds all vcpus that are pinned to the socket which cachebank with
host_id=1.
<cachetune id='10' host_id='1' type='l3'
size='3072' unit='KiB' vcpus=2,3/>
Adds PID of vcpus 2 and 3 to resctrl directory created for this
allocation.
3) CDP / non-CDP convertion.
In case the size determination has been performed with non-CDP,
to emulate such allocation on a CDP host,
it would be good to allow both code and data allocations to share
the CBM space:
<cachetune id='10' host_id='1' type='l3data'
size='3072' unit='KiB'/>
<cachetune id='10' host_id='1' type='l3code'
size='3072' unit='KiB'/>
Perhaps if using the same ID?
Other than that, testing looks good.