Messages in this thread | | | Date | Thu, 03 Apr 2008 13:52:33 +0800 | From | Li Zefan <> | Subject | [PATCH -mm 0/3] cgroup: use hash table for css_set |
| |
(rebase on 2.6.25-rc8-mm1)
hen we attach a process to a different cgroup, the css_set linked-list will be run through to find a suitable existing css_set to use. This patch set uses a hash table for better performance.
As we add the hash table, we can totally remove the css_set linked-list. When we have to run through the linked-list, we can run through the hash table instead.
I tested the following benmarks:
For N in 1, 5, 10, 50, 100, 500, 1000, create N cgroups with one sleeping task in each, and then move an additional task through each cgroup in turn.
Here is a test result:
N Loop orig - Time(s) hash - Time(s) ---------------------------------------------- 1 10000 1.201231728 1.196311177 5 2000 1.065743872 1.040566424 10 1000 0.991054735 0.986876440 50 200 0.976554203 0.969608733 100 100 0.998504680 0.969218270 500 20 1.157347764 0.962602963 1000 10 1.619521852 1.085140172
Regards, Li Zefan
| |