On Mon, 2 Aug 2010 11:47:20 +0530, Balbir Singh <[email protected]> wrote: > * Nikunj A. Dadhania <[email protected]> [2010-08-02 11:12:11]: > > > To do: > > - A clean patch for libvirt to switch to libcgroup. > > - Application to be provided a single handle which can be used for > > further > > cgroup API calls. > > > > I think this is a good step forward, as a first step, could we list > > 1. cgroup API's being used by libvirt and lxc and systemd - look at > them for abstractions to create
Current implementation of libvirt is using following cgroup functionality: 1) to create cgroup directory a) Creating libvirt or libvirt-`username` b) Creating driver cgroup libvirt/lxc or libvirt/qemu c) Creating cgroup per VM in the respective driver 2) to add task to cgroup 3) to set memory limit 4) to read current memory usage 5) to allow/deny devices 6) to set/get CPU Shares 7) to get CPU usage 8) to set/get freezer state 9) to remove cgroup directory I still do not have the list for systemd. > > This is what I had in mind > > a. Build a plugin interface, on cgroup_init() it would detect mounted > controllers and activate the layer2 API for each of the controllers Could you please elaborate on this? > b. The layer2 API would have some common abstractions like > > set_hard_limit > get_hard_limit > set_soft_limit > get_soft_limit > .... > get_stats This would be different per controller, right? > Each of these would take a controller value and in turn invoke > callbacks into the layer 2 code. I am not too sure about this, as every controller has different parameters to control. Regards, Nikunj ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ Libcg-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libcg-devel
