Low level plumbing for cgroups

From WorkOutWiki2008

Jump to: navigation, search

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]

Workout Updates

Workout Update

Personal tools