Hello, I summarized the idea about 'policy manager'. The purpose of 'policy manager' is to manage and to operate 'runtime policy' such as cpu pin/weight/cap. Please refer to the following thread about earlier argument about 'policy manager'. https://www.redhat.com/archives/libvir-list/2007-February/msg00211.html To implement the above mentioned features, I think that 'policy manager' need to be constructed by CLI and API. Is it all right in the following ideas? - About CLI At first, I think the following commands are necessary. ('xxx' means temporary command name) (1) xxx vcpupin <domain> <vcpu> <cpulist> : Same as virsh vcpupin <domain> <vcpu> <cpulist> command (2) xxx schedweight <domain> <weight> : Same as xm sched-credit -d <domain> -w <weight> command (3) xxx schedcap <domain> <cap> : Same as xm sched-credit -d <domain> -c <cap> command (4) xxx cpuoccupy <pcpu> <domains> : The domains specified by <domains> can use the <pcpu> in occupancy, and the other domains can't use it. (*) (5) xxx cpupolicy <domain> : Show the CPU runtime policy of <domain>. (*) When a running domain has vcpu pinned to only single pcpu, the other domains can't occupy the pcpu. In above mentioned (1)-(4), policy informations of not only running domains but also inactive domains are managed in the following API. - About API The main function which is necessary for API are as follows. o When CLI command is executed, the demanded processing is done by calling libvirt from API. o API preserves the specified by CLI command to a specific file. o When start/reboot domain command is executed by libvirt, API is called from libvirt and the domain is set the runtime policy. - TODO list o It is necessary to add new function into libvirt to change scheduler parameters (cpu weight/cap) previously. Any other thoughts from anyone? Regards, Yuzuru Asano.