cgroup: use hash table for css_set
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 6 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | cgroup: use a hash table for css_set findinginclude/ kernel/ | +52 | 2 replies | |
| 2/3 | cgroup: simplify init_subsys()kernel/ | +4 | 4 replies | |
| 3/3 | cgroup: remove the css_set linked-listinclude/ kernel/ | +20 | 0 replies |
Reviews trailers per patch
1 of 3 patches has a Reviewed-by or Acked-by.
| Patch | Paul Menage |
|---|---|
| 1/3 | R-b R-b |
| 2/3 | |
| 3/3 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH -mm 0/3] cgroup: use hash table for css_set
When 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
Those patches are based on 2.6.25-rc5-mm1.
Regards,
Li Zefan