On Mon, Nov 26, 2007 at 11:12:29AM +0900, Saori Fukuta wrote: > Hi, > > I want to change the cpu pinning for inactive domain on RHEL-5.1. > So, I just add the xenXMDomainPinVcpu to xm_internal.c. > We will be allowed to change "cpus" parameter in configuration file > with "vcpupin" command by this patch, like "setmem" or "setvcpus". > > There is 2 things to note: > - This is an effective feature for inactive domain with > Xen3.0.3 (less than 3 of xendConfigVersion). > - On the above environment, the number which specified as > <vcpu> is ignored, because the virtual CPUs is not present > when domain is shut off. So, when executing "vcpupin" command > with this option > # virsh vcpupin Guest 0 1 > "0"(vcpu) is ignored and "1"(cpulist) is set to configuration file > as "cpus". > # cat /etc/xen/Guest | grep cpus > cpus = "1" Hi Saori, thanks for looking at this, I think this could be fixed but there is just a couple of things i feel a bit uneasy with the patch: - they work with arrays allocated on the stack of fixed dimention (and rather big), i would rather see a dynamic allocation of the array to a more reasonnable size and growing them dynamically - the repeted use of strcat on each cpu pinning found makes it a quadratic algorithm though it could really be linear if one kept a pointer to the current end of the buffer - the ranges variable is defined in the middle of the function, this may look notmal in C++ but this is against the conventions in libvirt C code. I think the code should be reworked a bit around those lines, but I have no doubt we can quickly get to a fix in libvirt, thanks ! Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list