]> git.pld-linux.org Git - packages/kernel.git/blame - kernel-vserver-2.3.patch
- http://grsecurity.net/~spender/grsecurity-2.9-2.6.32.59-201204272005.patch
[packages/kernel.git] / kernel-vserver-2.3.patch
CommitLineData
cb35d258 1diff -NurpP --minimal linux-2.6.32.59/Documentation/scheduler/sched-cfs-hard-limits.txt linux-2.6.32.59-vs2.3.0.36.29.9/Documentation/scheduler/sched-cfs-hard-limits.txt
2--- linux-2.6.32.59/Documentation/scheduler/sched-cfs-hard-limits.txt 1970-01-01 01:00:00.000000000 +0100
3+++ linux-2.6.32.59-vs2.3.0.36.29.9/Documentation/scheduler/sched-cfs-hard-limits.txt 2011-06-10 13:03:02.000000000 +0200
f1228c69 4@@ -0,0 +1,48 @@
5+CPU HARD LIMITS FOR CFS GROUPS
6+==============================
7+
8+1. Overview
9+2. Interface
10+3. Examples
11+
12+1. Overview
13+-----------
14+
15+CFS is a proportional share scheduler which tries to divide the CPU time
16+proportionately between tasks or groups of tasks (task group/cgroup) depending
17+on the priority/weight of the task or shares assigned to groups of tasks.
18+In CFS, a task/task group can get more than its share of CPU if there are
19+enough idle CPU cycles available in the system, due to the work conserving
20+nature of the scheduler. However in certain scenarios (like pay-per-use),
21+it is desirable not to provide extra time to a group even in the presence
22+of idle CPU cycles. This is where hard limiting can be of use.
23+
24+Hard limits for task groups can be set by specifying how much CPU runtime a
25+group can consume within a given period. If the group consumes more CPU time
26+than the runtime in a given period, it gets throttled. None of the tasks of
27+the throttled group gets to run until the runtime of the group gets refreshed
28+at the beginning of the next period.
29+
30+2. Interface
31+------------
32+
33+Hard limit feature adds 2 cgroup files for CFS group scheduler:
34+
35+cfs_runtime_us: Hard limit for the group in microseconds.
36+
37+cfs_period_us: Time period in microseconds within which hard limits is
38+enforced.
39+
40+A group gets created with default values for runtime (infinite runtime which
41+means hard limits disabled) and period (0.5s). Each group can set its own
42+values for runtime and period independent of other groups in the system.
43+
44+3. Examples
45+-----------
46+
47+# mount -t cgroup -ocpu none /cgroups/
48+# cd /cgroups
49+# mkdir 1
50+# cd 1/
51+# echo 250000 > cfs_runtime_us /* set a 250ms runtime or limit */
52+# echo 500000 > cfs_period_us /* set a 500ms period */
cb35d258 53diff -NurpP --minimal linux-2.6.32.59/Documentation/vserver/debug.txt linux-2.6.32.59-vs2.3.0.36.29.9/Documentation/vserver/debug.txt
54--- linux-2.6.32.59/Documentation/vserver/debug.txt 1970-01-01 01:00:00.000000000 +0100
55+++ linux-2.6.32.59-vs2.3.0.36.29.9/Documentation/vserver/debug.txt 2011-06-10 13:03:02.000000000 +0200
f1228c69 56@@ -0,0 +1,154 @@
57+
58+debug_cvirt:
59+
60+ 2 4 "vx_map_tgid: %p/%llx: %d -> %d"
61+ "vx_rmap_tgid: %p/%llx: %d -> %d"
62+
63+debug_dlim:
64+
65+ 0 1 "ALLOC (%p,#%d)%c inode (%d)"
66+ "FREE (%p,#%d)%c inode"
67+ 1 2 "ALLOC (%p,#%d)%c %lld bytes (%d)"
68+ "FREE (%p,#%d)%c %lld bytes"
69+ 2 4 "ADJUST: %lld,%lld on %ld,%ld [mult=%d]"
70+ 3 8 "ext3_has_free_blocks(%p): %lu<%lu+1, %c, %u!=%u r=%d"
71+ "ext3_has_free_blocks(%p): free=%lu, root=%lu"
72+ "rcu_free_dl_info(%p)"
73+ 4 10 "alloc_dl_info(%p,%d) = %p"
74+ "dealloc_dl_info(%p)"
75+ "get_dl_info(%p[#%d.%d])"
76+ "put_dl_info(%p[#%d.%d])"
77+ 5 20 "alloc_dl_info(%p,%d)*"
78+ 6 40 "__hash_dl_info: %p[#%d]"
79+ "__unhash_dl_info: %p[#%d]"
80+ 7 80 "locate_dl_info(%p,#%d) = %p"
81+
82+debug_misc:
83+
84+ 0 1 "destroy_dqhash: %p [#0x%08x] c=%d"
85+ "new_dqhash: %p [#0x%08x]"
86+ "vroot[%d]_clr_dev: dev=%p[%lu,%d:%d]"
87+ "vroot[%d]_get_real_bdev: dev=%p[%lu,%d:%d]"
88+ "vroot[%d]_set_dev: dev=%p[%lu,%d:%d]"
89+ "vroot_get_real_bdev not set"
90