/linux-3.4.99/kernel/ |
D | cgroup_freezer.c | 38 struct cgroup *cgroup) in cgroup_freezer() argument 41 cgroup_subsys_state(cgroup, freezer_subsys_id), in cgroup_freezer() 131 static struct cgroup_subsys_state *freezer_create(struct cgroup *cgroup) in freezer_create() argument 144 static void freezer_destroy(struct cgroup *cgroup) in freezer_destroy() argument 146 struct freezer *freezer = cgroup_freezer(cgroup); in freezer_destroy() 165 static int freezer_can_attach(struct cgroup *new_cgroup, in freezer_can_attach() 196 if (!freezer->css.cgroup->parent) in freezer_fork() 214 static void update_if_frozen(struct cgroup *cgroup, in update_if_frozen() argument 222 cgroup_iter_start(cgroup, &it); in update_if_frozen() 223 while ((task = cgroup_iter_next(cgroup, &it))) { in update_if_frozen() [all …]
|
D | cgroup.c | 122 struct cgroup top_cgroup; 186 struct cgroup *cgrp; 243 inline int cgroup_is_removed(const struct cgroup *cgrp) in cgroup_is_removed() 253 static int cgroup_is_releasable(const struct cgroup *cgrp) in cgroup_is_releasable() 261 static int notify_on_release(const struct cgroup *cgrp) in notify_on_release() 266 static int clone_children(const struct cgroup *cgrp) in clone_children() 288 static void check_for_release(struct cgroup *cgrp); 297 struct cgroup *cgrp; 378 struct cgroup *cgrp = link->cgrp; in __put_css_set() 433 struct cgroup *new_cgrp, in compare_css_sets() [all …]
|
D | cpuset.c | 113 static inline struct cpuset *cgroup_cs(struct cgroup *cont) in cgroup_cs() 407 struct cgroup *cont; in validate_change() 411 list_for_each_entry(cont, &cur->css.cgroup->children, sibling) { in validate_change() 430 list_for_each_entry(cont, &par->css.cgroup->children, sibling) { in validate_change() 443 if (cgroup_task_count(cur->css.cgroup)) { in validate_change() 479 struct cgroup *cont; in update_domain_attr_tree() 491 list_for_each_entry(cont, &cp->css.cgroup->children, sibling) { in update_domain_attr_tree() 593 struct cgroup *cont; in generate_sched_domains() 613 list_for_each_entry(cont, &cp->css.cgroup->children, sibling) { in generate_sched_domains() 851 scan.cg = cs->css.cgroup; in update_tasks_cpumask() [all …]
|
/linux-3.4.99/include/linux/ |
D | cgroup.h | 25 struct cgroup; 32 extern bool cgroup_lock_live_group(struct cgroup *cgrp); 65 struct cgroup *cgroup; member 162 struct cgroup { struct 178 struct cgroup *parent; /* my parent */ argument 185 struct cgroup *top_cgroup; argument 298 ssize_t (*read)(struct cgroup *cgrp, struct cftype *cft, 305 u64 (*read_u64)(struct cgroup *cgrp, struct cftype *cft); 309 s64 (*read_s64)(struct cgroup *cgrp, struct cftype *cft); 316 int (*read_map)(struct cgroup *cont, struct cftype *cft, [all …]
|
D | memcontrol.h | 89 extern struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont); 92 int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup) in mm_match_cgroup() argument 98 return cgroup == memcg; in mm_match_cgroup()
|
/linux-3.4.99/Documentation/cgroups/ |
D | cgroups.txt | 46 A *cgroup* associates a set of tasks with a set of parameters for one 52 schedules a resource or applies per-cgroup limits, but it may be 59 state attached to each cgroup in the hierarchy. Each hierarchy has 60 an instance of the cgroup virtual filesystem associated with it. 66 instance of the cgroup virtual file system, specify and query to 67 which cgroup a task is assigned, and list the task pids assigned to 68 a cgroup. Those creations and assignments only affect the hierarchy 69 associated with that instance of the cgroup file system. 73 cgroup support to provide new attributes for cgroups, such as 74 accounting/limiting the resources which processes in a cgroup can [all …]
|
D | freezer-subsystem.txt | 1 The cgroup freezer is useful to batch job management system which start 5 whole. The cgroup freezer uses cgroups to describe the set of tasks to 9 The cgroup freezer will also be useful for checkpointing running groups 11 image of the tasks by attempting to force the tasks in a cgroup into a 47 In contrast, the cgroup freezer uses the kernel freezer code to 54 cgroup. Subsequently writing "THAWED" will unfreeze the tasks in the cgroup. 57 Note freezer.state doesn't exist in root cgroup, which means root cgroup 62 # mkdir /sys/fs/cgroup/freezer 63 # mount -t cgroup -ofreezer freezer /sys/fs/cgroup/freezer 64 # mkdir /sys/fs/cgroup/freezer/0 [all …]
|
D | devices.txt | 5 Implement a cgroup to track and enforce open and mknod restrictions 6 on device files. A device cgroup associates a device access 7 whitelist with each cgroup. A whitelist entry has 4 fields. 13 The root device cgroup starts with rwm to 'all'. A child device 14 cgroup gets a copy of the parent. Administrators can then remove 15 devices from the whitelist or add new entries. A child cgroup can 25 echo 'c 1:3 mr' > /sys/fs/cgroup/1/devices.allow 27 allows cgroup 1 to read and mknod the device usually known as 30 echo a > /sys/fs/cgroup/1/devices.deny 34 echo a > /sys/fs/cgroup/1/devices.allow [all …]
|
D | cpuacct.txt | 11 Accounting groups can be created by first mounting the cgroup filesystem. 13 # mount -t cgroup -ocpuacct none /sys/fs/cgroup 16 visible at /sys/fs/cgroup. At bootup, this group includes all the tasks in 17 the system. /sys/fs/cgroup/tasks lists the tasks in this cgroup. 18 /sys/fs/cgroup/cpuacct.usage gives the CPU time (in nanoseconds) obtained 22 New accounting groups can be created under the parent group /sys/fs/cgroup. 24 # cd /sys/fs/cgroup 31 /sys/fs/cgroup/cpuacct.usage also. 34 CPU time obtained by the cgroup into user and system times. Currently 37 user: Time spent by tasks of the cgroup in user mode. [all …]
|
D | memory.txt | 9 When we mention a cgroup (cgroupfs's directory) with memory controller, 10 we call it "memory cgroup". When you see git-log and source code, you'll 23 b. Create a cgroup with limited amount of memory, this can be used 44 - Root cgroup has no limit controls. 52 cgroup.procs # show list of processes 53 cgroup.event_control # an interface for event_fd() 112 with the controller. Each cgroup has a memory controller specific data 140 1. Accounting happens per cgroup 141 2. Each mm_struct knows about which cgroup it belongs to 143 cgroup it belongs to [all …]
|
D | net_prio.txt | 1 Network priority cgroup 4 The Network priority cgroup provides an interface to allow an administrator to 15 This cgroup allows an administrator to assign a process to a group which defines 17 be created by first mounting the cgroup filesystem. 19 # mount -t cgroup -onet_prio none /sys/fs/cgroup/net_prio 22 becomes visible at '/sys/fs/cgroup/net_prio'. This group includes all tasks in 23 the system. '/sys/fs/cgroup/net_prio/tasks' lists the tasks in this cgroup. 25 Each net_prio cgroup contains two files that are subsystem specific 29 value that the kernel uses as an internal representation of this cgroup. 41 iscsi net_prio cgroup and egressing on interface eth0 to have the priority of [all …]
|
D | blkio-controller.txt | 5 cgroup subsys "blkio" implements the block io controller. There seems to be 8 Plan is to use the same cgroup based management interface for blkio controller 34 mount -t tmpfs cgroup_root /sys/fs/cgroup 35 mkdir /sys/fs/cgroup/blkio 36 mount -t cgroup -o blkio none /sys/fs/cgroup/blkio 39 mkdir -p /sys/fs/cgroup/blkio/test1/ /sys/fs/cgroup/blkio/test2 42 echo 1000 > /sys/fs/cgroup/blkio/test1/blkio.weight 43 echo 500 > /sys/fs/cgroup/blkio/test2/blkio.weight 46 launch two dd threads in different cgroup to read those files. 52 echo $! > /sys/fs/cgroup/blkio/test1/tasks [all …]
|
D | memcg_test.txt | 279 mount -t cgroup -o cpuset none /opt/cpuset 320 echo 1 >/opt/cgroup/01/memory/use_hierarchy 321 mkdir /opt/cgroup/01/child_a 322 mkdir /opt/cgroup/01/child_b 329 /opt/cgroup/01/child_a/child_aa 330 /opt/cgroup/01/child_b/child_bb 331 /opt/cgroup/01/child_c 337 race and lock dependency with other cgroup subsystems. 340 # mount -t cgroup none /cgroup -o cpuset,memory,cpu,devices 351 # mount -t cgroup none /cgroup -o memory [all …]
|
D | cpusets.txt | 50 Cpusets use the generic cgroup subsystem described in 62 User level code may create and destroy cpusets by name in the cgroup 122 in the task structure to a reference counted cgroup structure. 152 You should mount the "cgroup" filesystem type in order to enable 167 Each cpuset is represented by a directory in the cgroup file system 168 containing (on top of the standard cgroup files) the following 645 cpuset is bound with another cgroup subsystem which has some restrictions 664 1) mkdir /sys/fs/cgroup/cpuset 665 2) mount -t cgroup -ocpuset cpuset /sys/fs/cgroup/cpuset 667 the /sys/fs/cgroup/cpuset virtual file system. [all …]
|
/linux-3.4.99/Documentation/accounting/ |
D | cgroupstats.txt | 2 http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics as 5 Per cgroup statistics infrastructure re-uses code from the taskstats 6 interface. A new set of cgroup operations are registered with commands 8 extend per cgroup statistics, by adding members to the cgroupstats 13 user space requests for statistics by passing the cgroup path. 14 Statistics about the state of all the tasks in the cgroup is returned to 21 To extract cgroup statistics a utility very similar to getdelays.c 24 ~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup/a" 26 ~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup"
|
/linux-3.4.99/security/ |
D | device_cgroup.c | 52 static inline struct dev_cgroup *cgroup_to_devcgroup(struct cgroup *cgroup) in cgroup_to_devcgroup() argument 54 return css_to_devcgroup(cgroup_subsys_state(cgroup, devices_subsys_id)); in cgroup_to_devcgroup() 64 static int devcgroup_can_attach(struct cgroup *new_cgrp, in devcgroup_can_attach() 159 static struct cgroup_subsys_state *devcgroup_create(struct cgroup *cgroup) in devcgroup_create() argument 162 struct cgroup *parent_cgroup; in devcgroup_create() 169 parent_cgroup = cgroup->parent; in devcgroup_create() 197 static void devcgroup_destroy(struct cgroup *cgroup) in devcgroup_destroy() argument 202 dev_cgroup = cgroup_to_devcgroup(cgroup); in devcgroup_destroy() 248 static int devcgroup_seq_read(struct cgroup *cgroup, struct cftype *cft, in devcgroup_seq_read() argument 251 struct dev_cgroup *devcgroup = cgroup_to_devcgroup(cgroup); in devcgroup_seq_read() [all …]
|
/linux-3.4.99/net/core/ |
D | netprio_cgroup.c | 26 static struct cgroup_subsys_state *cgrp_create(struct cgroup *cgrp); 27 static void cgrp_destroy(struct cgroup *cgrp); 28 static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp); 47 static inline struct cgroup_netprio_state *cgrp_netprio_state(struct cgroup *cgrp) in cgrp_netprio_state() 123 static struct cgroup_subsys_state *cgrp_create(struct cgroup *cgrp) in cgrp_create() 147 static void cgrp_destroy(struct cgroup *cgrp) in cgrp_destroy() 165 static u64 read_prioidx(struct cgroup *cgrp, struct cftype *cft) in read_prioidx() 170 static int read_priomap(struct cgroup *cont, struct cftype *cft, in read_priomap() 188 static int write_priomap(struct cgroup *cgrp, struct cftype *cft, in write_priomap() 262 static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp) in cgrp_populate()
|
/linux-3.4.99/net/sched/ |
D | cls_cgroup.c | 25 static struct cgroup_subsys_state *cgrp_create(struct cgroup *cgrp); 26 static void cgrp_destroy(struct cgroup *cgrp); 27 static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp); 41 static inline struct cgroup_cls_state *cgrp_cls_state(struct cgroup *cgrp) in cgrp_cls_state() 53 static struct cgroup_subsys_state *cgrp_create(struct cgroup *cgrp) in cgrp_create() 67 static void cgrp_destroy(struct cgroup *cgrp) in cgrp_destroy() 72 static u64 read_classid(struct cgroup *cgrp, struct cftype *cft) in read_classid() 77 static int write_classid(struct cgroup *cgrp, struct cftype *cft, u64 value) in write_classid() 91 static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp) in cgrp_populate()
|
/linux-3.4.99/net/ipv4/ |
D | tcp_memcontrol.c | 9 static u64 tcp_cgroup_read(struct cgroup *cont, struct cftype *cft); 10 static int tcp_cgroup_write(struct cgroup *cont, struct cftype *cft, 12 static int tcp_cgroup_reset(struct cgroup *cont, unsigned int event); 52 int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss) in tcp_init_cgroup() 97 void tcp_destroy_cgroup(struct cgroup *cgrp) in tcp_destroy_cgroup() 153 static int tcp_cgroup_write(struct cgroup *cont, struct cftype *cft, in tcp_cgroup_write() 201 static u64 tcp_cgroup_read(struct cgroup *cont, struct cftype *cft) in tcp_cgroup_read() 223 static int tcp_cgroup_reset(struct cgroup *cont, unsigned int event) in tcp_cgroup_reset()
|
/linux-3.4.99/block/ |
D | blk-cgroup.c | 31 static struct cgroup_subsys_state *blkiocg_create(struct cgroup *); 32 static int blkiocg_can_attach(struct cgroup *, struct cgroup_taskset *); 33 static void blkiocg_attach(struct cgroup *, struct cgroup_taskset *); 34 static void blkiocg_destroy(struct cgroup *); 35 static int blkiocg_populate(struct cgroup_subsys *, struct cgroup *); 107 struct blkio_cgroup *cgroup_to_blkio_cgroup(struct cgroup *cgroup) in cgroup_to_blkio_cgroup() argument 109 return container_of(cgroup_subsys_state(cgroup, blkio_subsys_id), in cgroup_to_blkio_cgroup() 493 cgroup_path(blkcg->css.cgroup, blkg->path, sizeof(blkg->path)); in blkiocg_add_blkio_group() 574 blkiocg_reset_stats(struct cgroup *cgroup, struct cftype *cftype, u64 val) in blkiocg_reset_stats() argument 587 blkcg = cgroup_to_blkio_cgroup(cgroup); in blkiocg_reset_stats() [all …]
|
D | blk-cgroup.h | 308 extern struct blkio_cgroup *cgroup_to_blkio_cgroup(struct cgroup *cgroup); 331 struct cgroup; 333 cgroup_to_blkio_cgroup(struct cgroup *cgroup) { return NULL; }
|
/linux-3.4.99/tools/perf/Documentation/ |
D | perf-stat.txt | 87 --cgroup name:: 88 monitor only in the container (cgroup) called "name". This option is available only 89 in per-cpu mode. The cgroup filesystem must be mounted. All threads belonging to 91 can be provided. Each cgroup is applied to the corresponding event, i.e., first cgroup 92 to first event, second cgroup to second event and so on. It is possible to provide 93 an empty cgroup (monitor all the time) using, e.g., -G foo,,bar. Cgroups must have
|
D | perf-record.txt | 145 --cgroup name,...:: 146 monitor only in the container (cgroup) called "name". This option is available only 147 in per-cpu mode. The cgroup filesystem must be mounted. All threads belonging to 149 can be provided. Each cgroup is applied to the corresponding event, i.e., first cgroup 150 to first event, second cgroup to second event and so on. It is possible to provide 151 an empty cgroup (monitor all the time) using, e.g., -G foo,,bar. Cgroups must have
|
/linux-3.4.99/mm/ |
D | memcontrol.c | 828 struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont) in mem_cgroup_from_cont() 1286 struct cgroup *cgrp = memcg->css.cgroup; in mem_cgroup_swappiness() 1416 struct cgroup *task_cgrp; in mem_cgroup_print_oom_info() 1417 struct cgroup *mem_cgrp; in mem_cgroup_print_oom_info() 1431 mem_cgrp = memcg->css.cgroup; in mem_cgroup_print_oom_info() 2676 struct cgroup *cg = child->css.cgroup; in mem_cgroup_move_parent() 2677 struct cgroup *pcg = cg->parent; in mem_cgroup_move_parent() 3728 struct cgroup *cgrp = memcg->css.cgroup; in mem_cgroup_force_empty() 3805 int mem_cgroup_force_empty_write(struct cgroup *cont, unsigned int event) in mem_cgroup_force_empty_write() 3811 static u64 mem_cgroup_hierarchy_read(struct cgroup *cont, struct cftype *cft) in mem_cgroup_hierarchy_read() [all …]
|
/linux-3.4.99/include/net/ |
D | tcp_memcontrol.h | 15 int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss); 16 void tcp_destroy_cgroup(struct cgroup *cgrp);
|