Home
last modified time | relevance | path

Searched refs:cgroup (Results 1 – 57 of 57) sorted by relevance

/linux-4.4.14/Documentation/cgroups/
Dpids.txt7 The process number controller is used to allow a cgroup hierarchy to stop any
12 preventable in the scope of a cgroup hierarchy by allowing resource limiting of
13 the number of tasks in a cgroup.
19 pids.max (this is not available in the root cgroup for obvious reasons). The
20 number of processes currently in the cgroup is given by pids.current.
22 Organisational operations are not blocked by cgroup policies, so it is possible
24 be smaller than pids.current, or attaching enough processes to the cgroup such
25 that pids.current > pids.max. However, it is not possible to violate a cgroup
27 creation of a new process would cause a cgroup policy to be violated.
29 To set a cgroup to have no limit, set pids.max to "max". This is the default for
[all …]
Dcgroups.txt46 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 …]
Dfreezer-subsystem.txt1 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
52 The cgroup freezer is hierarchical. Freezing a cgroup freezes all
53 tasks belonging to the cgroup and all its descendant cgroups. Each
54 cgroup has its own state (self-state) and the state inherited from the
55 parent (parent-state). Iff both states are THAWED, the cgroup is
58 The following cgroupfs files are created by cgroup freezer.
[all …]
Dnet_cls.txt1 Network classifier cgroup
4 The Network classifier cgroup provides an interface to
21 mkdir /sys/fs/cgroup/net_cls
22 mount -t cgroup -onet_cls net_cls /sys/fs/cgroup/net_cls
23 mkdir /sys/fs/cgroup/net_cls/0
24 echo 0x100001 > /sys/fs/cgroup/net_cls/0/net_cls.classid
27 cat /sys/fs/cgroup/net_cls/0/net_cls.classid
36 tc filter add dev eth0 parent 10: protocol ip prio 10 handle 1: cgroup
39 iptables -A OUTPUT -m cgroup ! --cgroup 0x100001 -j DROP
Dcpuacct.txt11 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 …]
Dnet_prio.txt1 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 …]
Dmemcg_test.txt141 mount -t cgroup -o cpuset none /opt/cpuset
182 echo 1 >/opt/cgroup/01/memory/use_hierarchy
183 mkdir /opt/cgroup/01/child_a
184 mkdir /opt/cgroup/01/child_b
191 /opt/cgroup/01/child_a/child_aa
192 /opt/cgroup/01/child_b/child_bb
193 /opt/cgroup/01/child_c
199 race and lock dependency with other cgroup subsystems.
202 # mount -t cgroup none /cgroup -o cpuset,memory,cpu,devices
213 # mount -t cgroup none /cgroup -o memory
[all …]
Dmemory.txt14 When we mention a cgroup (cgroupfs's directory) with memory controller,
15 we call it "memory cgroup". When you see git-log and source code, you'll
28 b. Create a cgroup with a limited amount of memory; this can be used
50 - Root cgroup has no limit controls.
58 cgroup.procs # show list of processes
59 cgroup.event_control # an interface for event_fd()
126 processes associated with the controller. Each cgroup has a memory controller
154 1. Accounting happens per cgroup
155 2. Each mm_struct knows about which cgroup it belongs to
157 cgroup it belongs to
[all …]
Dblkio-controller.txt5 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 …]
Dunified-hierarchy.txt7 their rationales. It will eventually be merged into the main cgroup
15 2-2. cgroup.subtree_control
16 2-3. cgroup.controllers
39 cgroup allows an arbitrary number of hierarchies and each hierarchy
60 Internal implementation in cgroup core proper is dazzlingly
62 restricts how cgroup is used in general and what controllers can do.
65 that a task's cgroup membership can't be described in finite length.
86 Unified hierarchy is the next version of cgroup interface. It aims to
101 mount -t cgroup -o __DEVEL__sane_behavior cgroup $MOUNT_POINT
111 is no longer referenced in its current hierarchy. Because per-cgroup
[all …]
Ddevices.txt5 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
23 echo 'c 1:3 mr' > /sys/fs/cgroup/1/devices.allow
25 allows cgroup 1 to read and mknod the device usually known as
28 echo a > /sys/fs/cgroup/1/devices.deny
32 echo a > /sys/fs/cgroup/1/devices.allow
[all …]
Dhugetlb.txt11 HugeTLB controller can be created by first mounting the cgroup filesystem.
13 # mount -t cgroup -o hugetlb 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.
19 New groups can be created under the parent group /sys/fs/cgroup.
21 # cd /sys/fs/cgroup
Dcpusets.txt50 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
651 cpuset is bound with another cgroup subsystem which has some restrictions
670 1) mkdir /sys/fs/cgroup/cpuset
671 2) mount -t cgroup -ocpuset cpuset /sys/fs/cgroup/cpuset
673 the /sys/fs/cgroup/cpuset virtual file system.
[all …]
D00-INDEX30 - Description the new/next cgroup interface.
/linux-4.4.14/Documentation/accounting/
Dcgroupstats.txt2 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-4.4.14/include/trace/events/
Dwriteback.h139 return kernfs_path_len(wb->memcg_css->cgroup->kn) + 1; in __trace_wb_cgroup_size()
144 struct cgroup *cgrp = wb->memcg_css->cgroup; in __trace_wb_assign_cgroup()
204 __dynamic_array(char, cgroup, __trace_wbc_cgroup_size(wbc))
212 __trace_wbc_assign_cgroup(__get_str(cgroup), wbc);
219 __get_str(cgroup)
249 __dynamic_array(char, cgroup, __trace_wb_cgroup_size(wb))
261 __trace_wb_assign_cgroup(__get_str(cgroup), wb);
273 __get_str(cgroup)
303 __dynamic_array(char, cgroup, __trace_wb_cgroup_size(wb))
307 __trace_wb_assign_cgroup(__get_str(cgroup), wb);
[all …]
/linux-4.4.14/include/linux/
Dcgroup.h79 struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgroup,
84 bool cgroup_is_descendant(struct cgroup *cgrp, struct cgroup *ancestor);
86 int cgroup_transfer_tasks(struct cgroup *to, struct cgroup *from);
468 static inline struct cgroup *task_cgroup(struct task_struct *task, in task_cgroup()
471 return task_css(task, subsys_id)->cgroup; in task_cgroup()
475 static inline bool cgroup_is_populated(struct cgroup *cgrp) in cgroup_is_populated()
481 static inline ino_t cgroup_ino(struct cgroup *cgrp) in cgroup_ino()
510 static inline int cgroup_name(struct cgroup *cgrp, char *buf, size_t buflen) in cgroup_name()
515 static inline char * __must_check cgroup_path(struct cgroup *cgrp, char *buf, in cgroup_path()
521 static inline void pr_cont_cgroup_name(struct cgroup *cgrp) in pr_cont_cgroup_name()
[all …]
Dcgroup-defs.h22 struct cgroup;
105 struct cgroup *cgroup; member
181 struct cgroup *dfl_cgrp;
204 struct cgroup *mg_src_cgrp;
226 struct cgroup { struct
314 struct cgroup cgrp;
Dmemcontrol.h330 return cgroup_is_descendant(memcg->css.cgroup, root->css.cgroup); in mem_cgroup_is_descendant()
Dblk-cgroup.h348 p = cgroup_path(blkg->blkcg->css.cgroup, buf, buflen); in blkg_path()
/linux-4.4.14/kernel/
Dcgroup.c220 static int cgroup_destroy_locked(struct cgroup *cgrp);
221 static int create_css(struct cgroup *cgrp, struct cgroup_subsys *ss,
226 struct cgroup *cgrp, struct cftype cfts[],
295 static bool cgroup_on_dfl(const struct cgroup *cgrp) in cgroup_on_dfl()
331 static struct cgroup *cgroup_parent(struct cgroup *cgrp) in cgroup_parent()
336 return container_of(parent_css, struct cgroup, self); in cgroup_parent()
351 static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp, in cgroup_css()
371 static struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp, in cgroup_e_css()
404 struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp, in cgroup_get_e_css()
427 static inline bool cgroup_is_dead(const struct cgroup *cgrp) in cgroup_is_dead()
[all …]
Dcpuset.c502 if ((cgroup_is_populated(cur->css.cgroup) || cur->attach_in_progress)) { in validate_change()
1993 if (!test_bit(CGRP_CPUSET_CLONE_CHILDREN, &css->cgroup->flags)) in cpuset_css_online()
2145 if (cgroup_transfer_tasks(parent->css.cgroup, cs->css.cgroup)) { in remove_tasks_in_empty_cpuset()
2147 pr_cont_cgroup_name(cs->css.cgroup); in remove_tasks_in_empty_cpuset()
2644 struct cgroup *cgrp; in cpuset_print_current_mems_allowed()
2648 cgrp = task_cs(current)->css.cgroup; in cpuset_print_current_mems_allowed()
2715 p = cgroup_path(css->cgroup, buf, PATH_MAX); in proc_cpuset_show()
DMakefile57 obj-$(CONFIG_CGROUPS) += cgroup.o
/linux-4.4.14/net/core/
Dnetprio_cgroup.c92 int id = css->cgroup->id; in netprio_prio()
112 int id = css->cgroup->id; in netprio_set_prio()
173 return css->cgroup->id; in read_prioidx()
227 void *v = (void *)(unsigned long)css->cgroup->id; in net_prio_attach()
/linux-4.4.14/tools/perf/Documentation/
Dperf-stat.txt107 --cgroup name::
108 monitor only in the container (cgroup) called "name". This option is available only
109 in per-cpu mode. The cgroup filesystem must be mounted. All threads belonging to
111 can be provided. Each cgroup is applied to the corresponding event, i.e., first cgroup
112 to first event, second cgroup to second event and so on. It is possible to provide
113 an empty cgroup (monitor all the time) using, e.g., -G foo,,bar. Cgroups must have
Dperf-record.txt217 --cgroup name,...::
218 monitor only in the container (cgroup) called "name". This option is available only
219 in per-cpu mode. The cgroup filesystem must be mounted. All threads belonging to
221 can be provided. Each cgroup is applied to the corresponding event, i.e., first cgroup
222 to first event, second cgroup to second event and so on. It is possible to provide
223 an empty cgroup (monitor all the time) using, e.g., -G foo,,bar. Cgroups must have
Dintel-pt.txt537 In per-cpu mode all processes (or processes from the selected cgroup i.e. -G
/linux-4.4.14/arch/x86/kernel/cpu/
Dperf_event_intel_cqm.c338 if (cgroup_is_descendant(ac->css.cgroup, bc->css.cgroup) || in __conflict_event()
339 cgroup_is_descendant(bc->css.cgroup, ac->css.cgroup)) in __conflict_event()
373 if (cgroup_is_descendant(ac->css.cgroup, bc->css.cgroup) || in __conflict_event()
374 cgroup_is_descendant(bc->css.cgroup, ac->css.cgroup)) in __conflict_event()
/linux-4.4.14/tools/
DMakefile55 cgroup firewire hv guest usb virtio vm net iio: FORCE target
84 all: acpi cgroup cpupower hv firewire lguest \
/linux-4.4.14/include/net/
Dnetprio_cgroup.h37 idx = css->cgroup->id; in task_netprioidx()
Dsock.h72 struct cgroup;
/linux-4.4.14/Documentation/block/
Dcfq-iosched.txt149 CFQ supports blkio cgroup and has "blkio." prefixed files in each
150 blkio cgroup directory. It is weight-based and there are four knobs
152 Internal cgroup nodes (the ones with children) can also have tasks in
153 them, so the former two configure how much proportion the cgroup as a
155 configure how much proportion the tasks in the cgroup have compared to
173 and AB have no child and thus its tasks have no children cgroup to
174 compete with. They always get 100% of what the cgroup won at the
221 scheduling. For non-cgroup users nothing should change.
Dqueue-sysfs.txt101 queue maintains a separate request pool per each cgroup when
103 per-block-cgroup request pool. IOW, if there are N block cgroups,
/linux-4.4.14/Documentation/scheduler/
Dsched-design-CFS.txt217 create arbitrary groups of tasks, using the "cgroup" pseudo filesystem. See
224 # mount -t tmpfs cgroup_root /sys/fs/cgroup
225 # mkdir /sys/fs/cgroup/cpu
226 # mount -t cgroup -ocpu none /sys/fs/cgroup/cpu
227 # cd /sys/fs/cgroup/cpu
Dsched-rt-group.txt132 This uses the cgroup virtual file system and "<cgroup>/cpu.rt_runtime_us"
152 ("<cgroup>/cpu.rt_period_us") configurable as well.
Dsched-deadline.txt443 mount -t cgroup -o cpuset cpuset /dev/cpuset
/linux-4.4.14/tools/perf/util/
Dpython-ext-sources17 util/cgroup.c
DBuild68 libperf-y += cgroup.o
/linux-4.4.14/block/
DMakefile16 obj-$(CONFIG_BLK_CGROUP) += blk-cgroup.o
DKconfig97 the IO rate to a device. IO rate policies are per cgroup and
98 one needs to mount and use blkio cgroup controller for creating
/linux-4.4.14/Documentation/namespaces/
Dresource-control.txt14 /etc/cgconfig.conf and setting up libpam-cgroup.
/linux-4.4.14/Documentation/vm/
Dhwpoison.txt137 mkdir /sys/fs/cgroup/mem/hwpoison
140 echo `jobs -p` > /sys/fs/cgroup/mem/hwpoison/tasks
142 memcg_ino=$(ls -id /sys/fs/cgroup/mem/hwpoison | cut -f1 -d' ')
Didle_page_tracking.txt6 account when configuring the workload parameters, setting memory cgroup limits,
47 placed in a memory cgroup.
Dpagemap.txt76 memory cgroup each page is charged to, indexed by PFN. Only available when
/linux-4.4.14/init/
DKconfig944 bool "Example debug cgroup subsystem"
947 This option enables a simple cgroup subsystem that
954 bool "Freezer cgroup subsystem"
957 cgroup.
960 bool "PIDs cgroup subsystem"
963 cgroup. Any attempt to fork more processes than is allowed in the
964 cgroup will fail. PIDs are fundamentally a global resource because it
967 system to halt without being limited by other cgroup policies. The
968 PIDs cgroup subsystem is designed to stop this from happening.
971 to a cgroup hierarchy will *not* be blocked by the PIDs subsystem),
[all …]
/linux-4.4.14/Documentation/
Dgdb-kernel-debugging.txt96 [ 0.000000] Initializing cgroup subsys cpuset
97 [ 0.000000] Initializing cgroup subsys cpu
/linux-4.4.14/mm/
Dbacking-dev.c530 blkcg_css = cgroup_get_e_css(memcg_css->cgroup, &io_cgrp_subsys); in cgwb_create()
652 blkcg_css = cgroup_get_e_css(memcg_css->cgroup, in wb_get_create()
Dslab_common.c523 cgroup_name(css->cgroup, memcg_name_buf, sizeof(memcg_name_buf)); in memcg_create_kmem_cache()
Dmemcontrol.c469 ino = cgroup_ino(memcg->css.cgroup); in page_cgroup_ino()
1269 pr_cont_cgroup_path(memcg->css.cgroup); in mem_cgroup_print_oom_info()
1286 pr_cont_cgroup_path(iter->css.cgroup); in mem_cgroup_print_oom_info()
2920 if (cgroup_is_populated(memcg->css.cgroup) || in memcg_activate_kmem()
DKconfig647 be useful to tune memory cgroup limits and/or for job placement
/linux-4.4.14/net/
DKconfig254 bool "Network priority cgroup"
261 bool "Network classid cgroup"
/linux-4.4.14/kernel/sched/
Ddebug.c107 return cgroup_path(tg->css.cgroup, group_path, PATH_MAX); in task_group_path()
/linux-4.4.14/net/sched/
DKconfig466 cgroup of their process.
/linux-4.4.14/Documentation/sysctl/
Dvm.txt692 above-mentioned. Even oom happens under memory cgroup, the whole
/linux-4.4.14/kernel/events/
Dcore.c384 return cgroup_is_descendant(cpuctx->cgrp->css.cgroup, in perf_cgroup_match()
385 event->cgrp->css.cgroup); in perf_cgroup_match()
/linux-4.4.14/
DMAINTAINERS2958 T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
2961 F: include/linux/cgroup*
2962 F: kernel/cgroup*
2969 T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
DCREDITS3233 D: `pids` cgroup subsystem