Lines Matching +full:cost +full:- +full:effective
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * linux/cgroup-defs.h - basic definitions for cgroup
18 #include <linux/percpu-refcount.h>
19 #include <linux/percpu-rwsem.h>
22 #include <linux/bpf-cgroup-defs.h>
52 CSS_ONLINE = (1 << 1), /* between ->css_online() and ->css_offline() */
79 /* cgroup_root->flags */
130 /* cftype->flags */
149 * be obtained by setting cftype->file_offset.
159 * Per-subsystem/per-cgroup state maintained by the system. This is the
172 /* reference count - access via css_[try]get() and css_put() */
176 * siblings list anchored at the parent's ->children
183 /* flush target list anchored at cgrp->rstat_css_list */
187 * PI: Subsys-unique ID. 0 is unused and root is always 1. The
197 * ->children lists are in the ascending order of ->serial_nr and
221 * css->cgroup->nr_dying_subsys[ssid].
274 * On the default hierarchy, ->subsys[ssid] may point to a css
277 * ->subsys[ssid]->cgroup->e_csets[ssid] and provides a way to
282 /* all threaded csets whose ->dom_cset points to this cset */
299 * List of csets participating in the on-going migration either as
309 * respectively the source and destination cgroups of the on-going
320 /* For RCU-protected deletion */
333 * rstat - cgroup scalable recursive statistics. Accounting is done
334 * per-cpu in cgroup_rstat_cpu which is then lazily propagated up the
346 * frequency decreases the cost of each read.
348 * This struct hosts both the fields which implement the above -
349 * updated_children and updated_next - and the fields which track basic
350 * resource statistics on top of it - bsync, bstat and last_bstat.
354 * ->bsync protects ->bstat. These are the only fields which get
367 * This field is used to record the cumulative per-cpu time of
376 * deltas to propagate to the per-cpu subtree_bstat.
382 * are linked on the parent's ->updated_children through
383 * ->updated_next.
385 * In addition to being more compact, singly-linked list pointing
386 * to the cgroup makes it unnecessary for each per-cpu struct to
389 * Protected by per-cpu cgroup_rstat_cpu_lock.
415 /* self css with NULL ->ss, points back to this cgroup */
447 * Each non-empty css_set associated with this cgroup contributes
451 * All children which have non-zero nr_populated_csets and/or
472 * ->subtree_control is the one configured through
473 * "cgroup.subtree_control" while ->subtree_ss_mask is the effective
475 * are made available iff it's enabled in ->subtree_control.
511 * from process granularity and no-internal-task constraint.
518 /* per-cpu recursive resource statistics */
530 * A singly-linked list of cgroup structures to be rstat flushed.
591 * release. cgrp->ancestors[0] will be used overflowing into the
596 /* must follow cgrp for cgrp->ancestors[0], see above */
602 /* Hierarchy-specific flags */
608 /* The name for this hierarchy - may be empty */
616 * - the cgroup to use is file->f_path.dentry->d_parent->d_fsdata
617 * - the 'cftype' of the file is file->f_path.dentry->d_fsdata
630 * be passed to write. If < PAGE_SIZE-1, PAGE_SIZE-1 is assumed.
638 * If non-zero, should contain the offset from the start of css to
650 struct list_head node; /* anchored at ss->cfts */
690 * Maximum write size is determined by ->max_write_len. Use
704 * See Documentation/admin-guide/cgroup-v1/cgroups.rst for details
749 * no-internal-process constraint are ignored and a threaded
768 /* idr for css->id */
786 * is enabled on a cgroup, the depended-upon subsystems are enabled
802 * cgroup_threadgroup_change_begin - threadgroup exclusion for cgroups
814 * cgroup_threadgroup_change_end - threadgroup exclusion for cgroups
840 * sock_cgroup_data is embedded at sock->sk_cgrp_data and contains
841 * per-socket cgroup information except for memcg association.
862 return READ_ONCE(skcd->prioidx); in sock_cgroup_prioidx()
871 return READ_ONCE(skcd->classid); in sock_cgroup_classid()
881 WRITE_ONCE(skcd->prioidx, prioidx); in sock_cgroup_set_prioidx()
889 WRITE_ONCE(skcd->classid, classid); in sock_cgroup_set_classid()