On Thu, Jun 17, 2010 at 1:48 PM, Alex Jia <ajia(a)redhat.com> 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(a)redhat.com>
To: "Balbir Singh" <balbir(a)linux.vnet.ibm.com>
Cc: "Alex Jia" <ajia(a)redhat.com>, libvir-list(a)redhat.com
Sent: Monday, June 14, 2010 6:20:33 AM GMT -05:00 US/Canada Eastern
Subject: Re: [libvirt] 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(a)redhat.com>
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(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list