query: [PATCH 2/2] cgroup: Remove call to synchronize_rcu incgroup_attach_task

From: Mike Galbraith
Date: Thu Apr 07 2011 - 05:56:07 EST


Greetings,

Wrt these patches:

https://lkml.org/lkml/2010/11/24/14 [PATCH 1/2] cgroup: Set CGRP_RELEASABLE when adding to a cgroup
https://lkml.org/lkml/2010/11/24/15 [PATCH 2/2] cgroup: Remove call to synchronize_rcu in cgroup_attach_task

I received a query regarding 2/2 because a large database company is
apparently moving tasks between cgroups frequently enough that their
database initialization time dropped from ~11 hours to ~4 hours when
they applied this patch.

Curious why these got no traction.

Regardless of the wisdom of frequent cgroup moves, Joe User launching
light tasks via cgexec would gain quite a bit as well it seems.

Q/D measurement of cgexec -g cpu:test sh -c exit.

Unpatched:

marge:~ # time perf stat --repeat=1000 cgexec -g cpu:test sh -c exit

Performance counter stats for 'cgexec -g cpu:test sh -c exit' (1000 runs):

2.686149 task-clock-msecs # 0.119 CPUs ( +- 0.067% )
2 context-switches # 0.001 M/sec ( +- 0.100% )
0 CPU-migrations # 0.000 M/sec ( +- 35.231% )
633 page-faults # 0.236 M/sec ( +- 0.003% )
6292755 cycles # 2342.668 M/sec ( +- 0.062% )
4844702 instructions # 0.770 IPC ( +- 0.004% )
974011 branches # 362.605 M/sec ( +- 0.005% )
35187 branch-misses # 3.613 % ( +- 0.027% )
<not counted> cache-references
<not counted> cache-misses

0.022597372 seconds time elapsed ( +- 0.981% )


real 0m23.054s
user 0m0.380s
sys 0m0.000s

Patched:

marge:~ # time perf stat --repeat=1000 cgexec -g cpu:test sh -c exit

Performance counter stats for 'cgexec -g cpu:test sh -c exit' (1000 runs):

2.639303 task-clock-msecs # 0.915 CPUs ( +- 0.051% )
1 context-switches # 0.000 M/sec ( +- 1.048% )
0 CPU-migrations # 0.000 M/sec ( +- 21.602% )
633 page-faults # 0.240 M/sec ( +- 0.003% )
3883572 cycles # 1471.439 M/sec ( +- 1.767% )
4830809 instructions # 1.244 IPC ( +- 0.191% )
975204 branches # 369.493 M/sec ( +- 0.009% )
35314 branch-misses # 3.621 % ( +- 0.060% )
<not counted> cache-references
<not counted> cache-misses

0.002884424 seconds time elapsed ( +- 0.055% )


real 0m3.329s
user 0m0.012s
sys 0m0.352s



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/