The thing I didn't mention, is that until Dan posted his current patches
actually implementing the cgroups stuff in LXC driver, I didn't have a
good picture of what the ideal higher level interface would look like.
If you try and imagine high level APIs, without having an app actually
using them, its all too easy to design something that turns out to not
be useful.
So while I know the low level cgroups API isn't what we need, it needs
the current proof of concept in the libvirt LXC driver to discover what
is an effective approach for libcgroups. I suspect our code will evolve
further as we learn from what we've got now. By doing this entirely
within libvirt we can experiment with effective implementation strategies
without having to lockdown a formally supported API immediately. Once
things settle down, it'll easier for libcgroups to see exactly what is
important for a high level API and thus make one that's useful to more
apps in the long term.
Agreed, the libvirt changes for cgroups have shown us a useful layer
to build. We'll keep on top of it and try and build something that
everyone can use.
Balbir