Low level plumbing for cgroups
From WorkOutWiki2008
Contents |
Proposer
Balbir Singh [1]
Purpose
Abstract
Pre-requisites
Languages, tools to be known
svn, git
Knowledge of C is strongly recommended Ability to configure, compile and use custom kernels
Please make sure you have "gcc" version > 4 installed for some of the optimizations to work. It'll also be nice to read through Linux Kernel in a Nutshell
Getting and compiling the code
Use svn to get the code
svn co https://libcg.svn.sourceforge.net/svnroot/libcg/trunk libcg
Get the latest Linux Kernel from git. Use
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
It is highly recommended that the participants install Ubuntu Intrepid if not Fedora 9/10 , since they have control groups and some associated controllers enabled.
Links to overall design/architecture
There is some information available at [2]
Pre-event planning
On the mailing list which is at [3]
Tasks
1. Development of new features for libcgroup
- Port libvirt to use libcgroup API
- Development of plugin architecture (controller handlers in user space for memory, CPU, CPUACCT, ns, etc)
- Generic API architecture (how do we handle generic API programming for different controllers)
- Configuration Management. Ability to load multiple files at one time
2. Long term wishlist
- Develop and own "C" extensions to build a python module
- Develop and own "JNI" interface to allow JVM integration with libcgroups.
- Develop a GUI for resource management aspects of system management
- Look at the scope of Integrating resource management features into GNOME/KDE (own and drive the feature)
3. Easy start session
- start by fixing easy bugs and code review
- Move on to development and ownership of features listed in (1) and (2)
Existing work
Getting in touch
ML: [4]
IRC: #libcgroup on OFTC
Participants
Balbir Singh [5]
Dhaval Giani [6]
Sudhir Kumar [7]

