Hi there,

So we did tag a rc, but I have held of the release for a while on
purpose. Glauber pinged me the other day to let me know that he had a
bug to report with cgroup_delete_cgroup.

Basically if two subsystems are co-mounted, cgroup_delete_cgroup
returns an error, despite actually succeeding. Now this is in my
opinion due to the model we follow currently, where we delete the
cgroup the moment we empty it, so the second subsystem cannot find its
group. My proposed solution (after a short discussion with vgoyal) is
simple. Let's move cgroup_delete_cgroup to a two phase model. in the
first phase, we get a list of cgroups to be deleted, and therefore,
don't have any duplicates in the list. In the second phase, we
actually delete the cgroup. (which would entail moving the tasks away,
and then deleting them). This should also lead to a cleaner error
path, where we actually don't destroy the cgroup unless it actually
exists for all mentioned subsystems as opposed to giving us a half
done thing.

However, as part of this effort, I have also realized that a lot of
the code has become quite complicated. I think we should at some point
in time look to simplify the code. I have to pay some attention to
linsched at the moment (as I have a demo I am working on for LPC), but
this rewrite is on my plate immediately after that, unless of course
someone else gets to it before that (HINT! HINT!)

Thanks!
Dhaval

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to