]> Git Repo - linux.git/commit
cgroups: use a hash table for css_set finding
authorLi Zefan <[email protected]>
Tue, 29 Apr 2008 08:00:11 +0000 (01:00 -0700)
committerLinus Torvalds <[email protected]>
Tue, 29 Apr 2008 15:06:09 +0000 (08:06 -0700)
commit472b1053f3c319cc60bfb2a0bb062fed77a93eb6
tree2ef88bfdb7e397d3718a1bed38f13194f894097e
parent08ce5f16ee466ffc5bf243800deeecd77d9eaf50
cgroups: use a hash table for css_set finding

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
implements a hash table for better performance.

The following benchmarks have been tested:

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

Signed-off-by: Li Zefan <[email protected]>
Reviewed-by: Paul Menage <[email protected]>
Cc: Balbir Singh <[email protected]>
Cc: Pavel Emelyanov <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
include/linux/cgroup.h
kernel/cgroup.c
This page took 0.046304 seconds and 4 git commands to generate.