I wrote the configuration parser for libcg sometime back. Dhaval helped make significant improvements to it as well. At the time we wrote it, I had imagined we would probably create about 20 or so groups, but I planned ahead and "hard coded" the limit to create 1024 groups. How forward thinking of me :)
This morning I got a message in my inbox that said
"I'm using cgroups for lots and lots of users per server (2.000 or more).The problem is, I'm using one cgroup per user (for memory reasons)." See http://permalink.gmane.org/gmane.comp.lib.libcg.devel/1737
I was surprised to see that someone wanted to create so many cgroups, my first reaction was "Oh! my god" I hope we don't have a major bug in functionality or scalability.
I looked at the code and asked for counter that controls maximum number of groups to be scaled to something like 2048, hoping that the code would work, here is what I heard back.
"Yes!!! Thank you very much.. Its working now.. 37 thousand lines, 1400users (one cgroup for each user) :D Server is up and running now :D". See http://permalink.gmane.org/gmane.comp.lib.libcg.devel/1744
They use memory cgroups in their setup both hard and soft limits, so kudos for testing the whole solution. I never expected that we would be able to parse those many lines and support that sort of a configuration. This is where open source wins, I was able to provide a solution in seconds and I am hoping more feedback from the end users will help drive all the technology they use and I develop in the right direction. Had our software not worked well, we would have fixed it to enable the end user at the earliest.
Open Source blows my mind again and again!