On Thu, Jun 17, 2010 at 1:48 PM, Alex Jia <ajia@xxxxxxxxxx> wrote: > Thanks for Daniel and Balbir. > > In fact, libvirt just have implemented CPU scheduler controller for QEMU driver now, > the following controller is still not available for QEMU driver at present: > 1. Memory controller > 2. CPU set controller > 3. CPU accounting controller > 4. Devices controller > 5. Freezer controller > 6. Network class controller > > and CPU scheduler and memory controller are available for LXC driver now, the above > 2-6 haven't been implemented in LXC driver by libvirt. No. LXC driver utilizes 3-5 though they're not configurable. ozaki-r > > > > Best Regards, > Alex > > ----- Original Message ----- > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > To: "Balbir Singh" <balbir@xxxxxxxxxxxxxxxxxx> > Cc: "Alex Jia" <ajia@xxxxxxxxxx>, libvir-list@xxxxxxxxxx > Sent: Monday, June 14, 2010 6:20:33 AM GMT -05:00 US/Canada Eastern > Subject: Re: About cgroup mechanism using in libvirt > > On Mon, Jun 14, 2010 at 03:28:42PM +0530, Balbir Singh wrote: >> On Mon, Jun 14, 2010 at 3:10 PM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: >> > On Sat, Jun 12, 2010 at 07:23:33AM -0400, Alex Jia wrote: >> >> Hey Daniel, >> >> The cgroup mechanism have been integrated into libvirt for LXC and QEMU driver, >> >> and the LXC driver uses all of cgroup controllers except for net_cls and cpuset, >> >> while the QEMU driver only uses the cpu and devices controllers at present. >> >> >> >> From the user point of view, user can use some virsh commands to control some >> >> guest resources: >> >> 1. Using 'virsh schedinfo' command to get/set CPU scheduler priority for a guest >> > >> > QEMU + LXC use the cpu controller 'cpu_shares' tunable >> > >> >> 2. Using 'virsh vcpuin' command to control guest vcpu affinity >> > >> > QEMU pins the process directly, doesn't use cgroups. LXC has't >> > implemented this yet >> > >> >> 3. Using 'virsh setmem' command to change memory allocation >> >> 4. Using 'virsh setmaxmem' command to change maximum memory limit >> > >> > QEMU uses balloon driver. LXC uses cgroups memory controller >> > >> >> Not sure if I understand this, but the balloon driver and memory >> cgroups are not mutually exclusive. One could use both together and I >> would certainly like to see additional commands to support cgroups. >> What happens if a guest (like freebsd) does not support ballooning? >> Are you suggesting we'll not need cgroups at all with QEMU? > > No, I was merely describing the current usage. Making use of cgroups to > enforce the limit is certainly a desirable RFE for the future. > >> >> 5. Using 'virsh setvcpus' command to change number of virtual CPUs >> > >> > QEMU uses cpu hotplug. LXC hasn't implemented this. >> > >> >> I just make sure the above 1 using CPU scheduler controller, maybe 4 using Memory >> >> controller? and maybe 5 using CPU set controller? I am not sure. >> >> >> >> I think we'll some notion of soft limits as well, not sure if they can >> be encapsulated using the current set. We need memory shares for >> example to encapsulate them. > > > Daniel > -- > |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| > |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| > |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| > |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| > > -- > libvir-list mailing list > libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list