On Tue, Dec 20, 2011 at 06:30:41PM -0800, Frank Rowand wrote: > >> And for embedded and for real-time, some of us do not want cgroups to be > >> a mandatory thing. We want it to remain configurable. My personal > >> interest is in keeping the latency of certain critical paths (especially > >> in the scheduler) short and consistent. > > > > Much thanks for your input! That would be quite strong argument for going > > with /dev/mem_notify approach. Do you have any specific numbers how cgroups > > makes scheduler latencies worse? > > Sorry, I don't have specific numbers. And the numbers would be workload > specific anyway. OK, here are some numbers I captured using rt-tests suite. I don't see any huge latency drops w/ cyclictest, but there is ~8% drop in hackbench. Might be interesting to cgroups folks? Kernel config, w/ preempt and only minimal options enabled for mem_cg: http://ix.io/22w rt-tests: https://github.com/clrkwllms/rt-tests.git - - - - - test script #!/bin/sh echo cyclic for i in `seq 1 3`; do ./cyclictest -l 50000 -q ; done echo signal for i in `seq 1 3`; do ./signaltest -l 30000 -q ; done echo hackbench for i in `seq 1 3`; do ./hackbench -l 1000 | grep Time ; done - - - - - I run this script inside a QEMU KVM guest on a idling host. The host's cpufreq governor is set to powersave (so that's effectively becomes a 800 MHz machine). I can re-run this on a real HW, but I don't think that results would differ significantly. Results: bzImage_nocgroups_nopreempt --------------------------- cyclic T: 0 ( 2240) P: 0 I:1000 C: 50000 Min: 46 Act: 228 Avg: 226 Max: 5693 T: 0 ( 2242) P: 0 I:1000 C: 50000 Min: 57 Act: 234 Avg: 244 Max: 9041 T: 0 ( 2244) P: 0 I:1000 C: 50000 Min: 47 Act: 246 Avg: 227 Max: 6612 signal T: 0 ( 2247) P: 0 C: 30000 Min: 5 Act: 5 Avg: 6 Max: 236 T: 1 ( 2248) P: 0 C: 30000 Min: 5 Act: 5 Avg: 645 Max: 11719 T: 0 ( 2250) P: 0 C: 30000 Min: 6 Act: 6 Avg: 7 Max: 248 T: 1 ( 2251) P: 0 C: 30000 Min: 6 Act: 6 Avg: 647 Max: 14581 T: 0 ( 2253) P: 0 C: 30000 Min: 5 Act: 5 Avg: 7 Max: 210 T: 1 ( 2254) P: 0 C: 30000 Min: 5 Act: 6 Avg: 646 Max: 13892 hackbench Time: 14.940 Time: 14.883 Time: 14.959 bzImage_cgroups_nopreempt: -------------------------- cyclic T: 0 ( 963) P: 0 I:1000 C: 50000 Min: 52 Act: 248 Avg: 235 Max: 6497 T: 0 ( 965) P: 0 I:1000 C: 50000 Min: 55 Act: 230 Avg: 228 Max: 10438 T: 0 ( 967) P: 0 I:1000 C: 50000 Min: 51 Act: 173 Avg: 183 Max: 4396 signal T: 0 ( 970) P: 0 C: 30000 Min: 5 Act: 5 Avg: 6 Max: 98 T: 1 ( 971) P: 0 C: 30000 Min: 5 Act: 5 Avg: 646 Max: 13654 T: 0 ( 973) P: 0 C: 30000 Min: 5 Act: 5 Avg: 6 Max: 150 T: 1 ( 974) P: 0 C: 30000 Min: 5 Act: 5 Avg: 646 Max: 10560 T: 0 ( 976) P: 0 C: 30000 Min: 5 Act: 5 Avg: 6 Max: 107 T: 1 ( 977) P: 0 C: 30000 Min: 5 Act: 5 Avg: 646 Max: 13453 hackbench Time: 15.857 Time: 15.745 Time: 15.588 bzImage_cgroups_preempt: ------------------------ cyclic T: 0 ( 986) P: 0 I:1000 C: 50000 Min: 50 Act: 278 Avg: 239 Max: 8259 T: 0 ( 988) P: 0 I:1000 C: 50000 Min: 53 Act: 236 Avg: 228 Max: 3565 T: 0 ( 990) P: 0 I:1000 C: 50000 Min: 76 Act: 242 Avg: 238 Max: 3902 signal T: 0 ( 993) P: 0 C: 30000 Min: 6 Act: 6 Avg: 7 Max: 102 T: 1 ( 994) P: 0 C: 30000 Min: 6 Act: 6 Avg: 646 Max: 10683 T: 0 ( 996) P: 0 C: 30000 Min: 6 Act: 6 Avg: 7 Max: 129 T: 1 ( 997) P: 0 C: 30000 Min: 6 Act: 6 Avg: 647 Max: 10973 T: 0 ( 999) P: 0 C: 30000 Min: 6 Act: 43 Avg: 7 Max: 95 T: 1 ( 1000) P: 0 C: 30000 Min: 6 Act: 44 Avg: 646 Max: 10552 hackbench Time: 15.632 Time: 15.221 Time: 15.443 bzImage_nocgroups_preempt: -------------------------- cyclic T: 0 ( 974) P: 0 I:1000 C: 50000 Min: 50 Act: 268 Avg: 258 Max: 8324 T: 0 ( 976) P: 0 I:1000 C: 50000 Min: 61 Act: 185 Avg: 183 Max: 2998 T: 0 ( 978) P: 0 I:1000 C: 50000 Min: 55 Act: 234 Avg: 236 Max: 2858 signal T: 0 ( 981) P: 0 C: 30000 Min: 6 Act: 6 Avg: 7 Max: 85 T: 1 ( 982) P: 0 C: 30000 Min: 6 Act: 6 Avg: 647 Max: 10479 T: 0 ( 984) P: 0 C: 30000 Min: 6 Act: 6 Avg: 7 Max: 129 T: 1 ( 985) P: 0 C: 30000 Min: 6 Act: 6 Avg: 647 Max: 11178 T: 0 ( 987) P: 0 C: 30000 Min: 6 Act: 6 Avg: 7 Max: 94 T: 1 ( 988) P: 0 C: 30000 Min: 6 Act: 6 Avg: 647 Max: 11587 hackbench Time: 14.488 Time: 14.390 Time: 14.310 -- Anton Vorontsov Email: cbouatmailru@xxxxxxxxx -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>