OptimizationKit 0.1.2-rc1

Optimization Kit optimizationkit at gmail.com
Mon Apr 7 00:07:47 UTC 2008


On 06/04/2008, Optimization Kit <optimizationkit at gmail.com> wrote:
> Hi Balbir,
>
>
>  On 06/04/2008, Balbir Singh <bsingharora at gmail.com> wrote:
>  > Hi, Michal,
>  >
>  >  We are trying to do something similar with libcg.
>
>
> Yes, I know.
>
>
>  > We do provide
>  >  configuration files and configuration and an API to program control
>  >  groups (cgroups). Please see http://libcg.sf.net.  Is there a reason
>  >  why a C API or programming interface is not provided in Optimization
>  >  Kit?
>

Sorry, I misunderstand you. (After a few hours of coding my brain
hurts http://youtube.com/watch?v=IIlKiRPSNGA ;))

ok_cg is a very simple library that contains 6 function:
setup_cgroups(cpu_exclusive, mem_exclusive, features, cgroup_mount_dir)
create_groups_from_config(config, cgroup_mount_dir)
create_cgroup(cgroup, cgroup_mount_dir)
change_default_cgroup_opts(cgroup, opts, cgroup_mount_dir)
add_tasks_to_cgroup(cgroup, args, pgrep_args, cgroup_mount_dir)
get_pids(arg, pgrep_args)

providing an interface for python functions in c, c++ etc is quite simple
http://elmer.sourceforge.net/

The problem is that these functions requires a bit complicated data structures

for example:

[['games', '10', 'NULL', 'NULL', 'NULL', 'NULL',
{'cpuset.memory_spread_page': '0', 'cpuset.memory_spread_slab': '0',
'cpuset.mems': '0', 'cpuset.mem_exclusive': '0',
'cpuset.cpu_exclusive': '0', 'notify_on_release': '0',
'cpuset.memory_pressure': '0', 'cpuset.memory_pressure_enabled': '0',
'cpuset.sched_load_balance': '1', 'cfq.ioprio': '0',
'cpuset.memory_migrate': '0', 'cpuset.cpus': '0',
'memory.limit_in_bytes': 'NULL'}, ['michal'], ['michal'],
['mc','firefox-bin']]]

I'm not sure if it's possible to create a simple interface between C
and Python in such case.

Regards,
Michal




More information about the fedora-devel-list mailing list