[libvirt] [V2]RFC for support cache tune in libvirt

Hi folks I’v send the V1 version RFC early this week, but no reply yet. Thanks Qiaowei for the comment, I’v change the RFC much more libvirt specify, please help to comments on. ##Propose Changes #Libvirtd configure changes Add a new configure option cache_allocation_ratio to libvirtd, which let libvirt to allocate how many cache to domains. Default is 0.5 Eg. On a host which has 55M cache, libvirt can allocate 55M * cache_allocation_ratio cache to domains ## Virsh command line changes: NAME cachetune - control or query domain cache allocation SYNOPSIS cachetune <domain> [--enabled true/false] [--type <type>][--size <number>] [--config] [--live] [--current] DESCRIPTION Allocate cache usage for domain. OPTIONS [--domain] <string> domain name, id or uuid --enabled <true/false> enable cache allocation --type <string> cache allocations type, support l3/l2 etc --size <number> the cache size in KB --config affect next boot --live affect running domain --current affect current domain This will allow libvirt to allocate specify type l3 cache for a domain Domain xml changes: <cachetune> <enabled=’yes’, size=4096, actual_size=4680,type=’l3’> <enabled=’no’, size=256, actual_size=0, type=’l2’> </cachetune> For more information about the detail design, please refer https://www.redhat.com/archives/libvir-list/2016-December/msg01011.html CAT intro: https://software.intel.com/en-us/articles/software-enabling-for-cache-alloca... Best Regards Eli Qiao(乔立勇)OpenStack Core team OTC Intel. --

On Fri, Dec 23, 2016 at 05:38:13AM +0000, Qiao, Liyong wrote:
Hi folks
I’v send the V1 version RFC early this week, but no reply yet.
I replied to that and since I was going through the mail chronologically, and this is not a reply to that one, I am getting to this one only now.
Thanks Qiaowei for the comment, I’v change the RFC much more libvirt specify, please help to comments on.
##Propose Changes
#Libvirtd configure changes
Add a new configure option cache_allocation_ratio to libvirtd, which let libvirt to allocate how many cache to domains.
Where would be this option? In libvirtd.conf? Why?
Default is 0.5
Eg. On a host which has 55M cache, libvirt can allocate 55M * cache_allocation_ratio cache to domains
Why does this have to be statically limited?
## Virsh command line changes:
NAME cachetune - control or query domain cache allocation
SYNOPSIS cachetune <domain> [--enabled true/false] [--type <type>][--size <number>] [--config] [--live] [--current]
DESCRIPTION Allocate cache usage for domain.
OPTIONS [--domain] <string> domain name, id or uuid --enabled <true/false> enable cache allocation
So if I want to clear it out, I do "cachetune --enable false"? That's a mouthful.
--type <string> cache allocations type, support l3/l2 etc --size <number> the cache size in KB --config affect next boot --live affect running domain --current affect current domain
This will allow libvirt to allocate specify type l3 cache for a domain
Domain xml changes:
<cachetune> <enabled=’yes’, size=4096, actual_size=4680,type=’l3’> <enabled=’no’, size=256, actual_size=0, type=’l2’> </cachetune>
<cachetune> sounds fine, but the rest... enabled=no doesn't make sense, same as actual_size=0, but I guess that's just the same thing. It's also missing code/data differentiation. And socket/vCPU information.
For more information about the detail design, please refer https://www.redhat.com/archives/libvir-list/2016-December/msg01011.html
CAT intro: https://software.intel.com/en-us/articles/software-enabling-for-cache-alloca...
Best Regards
Eli Qiao(乔立勇)OpenStack Core team OTC Intel. --
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

Hi Martin, Thanks for your comments, it’s really helpful, I’v changed some of the design and with some PoC code. And will later sent the v3 version of cachetune for libvirt, will add you in CC list. I have some PoC code based on 3.0.0, not finished yet. But I’v learned that 3.0.0 will be released soon, seems there will be some rebase work to do. Best Regards Eli Qiao(乔立勇)OpenStack Core team OTC Intel. -- On 09/01/2017, 9:09 PM, "Martin Kletzander" <mkletzan@redhat.com> wrote: On Fri, Dec 23, 2016 at 05:38:13AM +0000, Qiao, Liyong wrote: > >Hi folks > >I’v send the V1 version RFC early this week, but no reply yet. > I replied to that and since I was going through the mail chronologically, and this is not a reply to that one, I am getting to this one only now. >Thanks Qiaowei for the comment, I’v change the RFC much more libvirt specify, please help to comments on. > >##Propose Changes > >#Libvirtd configure changes > >Add a new configure option cache_allocation_ratio to libvirtd, which let libvirt to allocate how many cache to domains. > Where would be this option? In libvirtd.conf? Why? >Default is 0.5 > >Eg. >On a host which has 55M cache, libvirt can allocate 55M * cache_allocation_ratio cache to domains > Why does this have to be statically limited? >## Virsh command line changes: > > NAME > cachetune - control or query domain cache allocation > > SYNOPSIS > cachetune <domain> [--enabled true/false] [--type <type>][--size <number>] [--config] [--live] [--current] > > DESCRIPTION > Allocate cache usage for domain. > > OPTIONS > [--domain] <string> domain name, id or uuid > --enabled <true/false> enable cache allocation So if I want to clear it out, I do "cachetune --enable false"? That's a mouthful. > --type <string> cache allocations type, support l3/l2 etc > --size <number> the cache size in KB > --config affect next boot > --live affect running domain > --current affect current domain > >This will allow libvirt to allocate specify type l3 cache for a domain > >Domain xml changes: > ><cachetune> ><enabled=’yes’, size=4096, actual_size=4680,type=’l3’> ><enabled=’no’, size=256, actual_size=0, type=’l2’> ></cachetune> > <cachetune> sounds fine, but the rest... enabled=no doesn't make sense, same as actual_size=0, but I guess that's just the same thing. It's also missing code/data differentiation. And socket/vCPU information. > >For more information about the detail design, please refer https://www.redhat.com/archives/libvir-list/2016-December/msg01011.html > >CAT intro: https://software.intel.com/en-us/articles/software-enabling-for-cache-alloca... > > > >Best Regards > >Eli Qiao(乔立勇)OpenStack Core team OTC Intel. >-- > >-- >libvir-list mailing list >libvir-list@redhat.com >https://www.redhat.com/mailman/listinfo/libvir-list
participants (2)
-
Martin Kletzander
-
Qiao, Liyong