diff options
author | Alejandro Colomar <alx@kernel.org> | 2023-02-05 23:14:38 +0100 |
---|---|---|
committer | Alejandro Colomar <alx@kernel.org> | 2023-02-05 23:14:42 +0100 |
commit | cdede5cdd1b0ba75135d3b32d96354026e96f866 (patch) | |
tree | f21d7604d25b2de607ef5471e5e180094231e046 /man7/cgroups.7 | |
parent | f29fc8dcf0da15a596a7cdc7e5a0b2932100b522 (diff) | |
download | man-pages-cdede5cdd1b0ba75135d3b32d96354026e96f866.tar.gz |
Many pages: Use \[bu] instead of \(bu
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man7/cgroups.7')
-rw-r--r-- | man7/cgroups.7 | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/man7/cgroups.7 b/man7/cgroups.7 index cd68ff77d7..7670ab9a58 100644 --- a/man7/cgroups.7 +++ b/man7/cgroups.7 @@ -559,20 +559,20 @@ under both the v1 and the v2 hierarchies. .PP The new behaviors in cgroups v2 are summarized here, and in some cases elaborated in the following subsections. -.IP \(bu 3 +.IP \[bu] 3 Cgroups v2 provides a unified hierarchy against which all controllers are mounted. -.IP \(bu +.IP \[bu] "Internal" processes are not permitted. With the exception of the root cgroup, processes may reside only in leaf nodes (cgroups that do not themselves contain child cgroups). The details are somewhat more subtle than this, and are described below. -.IP \(bu +.IP \[bu] Active cgroups must be specified via the files .I cgroup.controllers and .IR cgroup.subtree_control . -.IP \(bu +.IP \[bu] The .I tasks file has been removed. @@ -581,7 +581,7 @@ In addition, the file that is employed by the .I cpuset controller has been removed. -.IP \(bu +.IP \[bu] An improved mechanism for notification of empty cgroups is provided by the .I cgroup.events file. @@ -920,14 +920,14 @@ The cgroups v2 release-notification mechanism offers the following advantages over the cgroups v1 .I release_agent mechanism: -.IP \(bu 3 +.IP \[bu] 3 It allows for cheaper notification, since a single process can monitor multiple .I cgroup.events files (using the techniques described earlier). By contrast, the cgroups v1 mechanism requires the expense of creating a process for each notification. -.IP \(bu +.IP \[bu] Notification for different cgroup subhierarchies can be delegated to different processes. By contrast, the cgroups v1 mechanism allows only one release agent @@ -1114,7 +1114,7 @@ The effect of this mount option is to cause cgroup namespaces to automatically become delegation boundaries. More specifically, the following restrictions apply for processes inside the cgroup namespace: -.IP \(bu 3 +.IP \[bu] 3 Writes to controller interface files in the root directory of the namespace will fail with the error .BR EPERM . @@ -1124,7 +1124,7 @@ files in the root directory of the cgroup namespace such as and .IR cgroup.subtree_control , and can create subhierarchy underneath the root directory. -.IP \(bu +.IP \[bu] Attempts to migrate processes across the namespace boundary are denied (with the error .BR ENOENT ). @@ -1151,7 +1151,7 @@ Even if a cgroup namespace was employed, because both hierarchies are owned by the unprivileged user .IR cecilia , the following illegitimate actions could be performed: -.IP \(bu 3 +.IP \[bu] 3 A process in the inferior hierarchy could change the resource controller settings in the root directory of that hierarchy. (These resource controller settings are intended to allow control to @@ -1159,7 +1159,7 @@ be exercised from the .I parent cgroup; a process inside the child cgroup should not be allowed to modify them.) -.IP \(bu +.IP \[bu] A process inside the inferior hierarchy could move processes into and out of the inferior hierarchy if the cgroups in the superior hierarchy were somehow visible. @@ -1208,11 +1208,11 @@ A nonprivileged process (i.e., the delegatee) can write the PID of a "target" process into a .I cgroup.procs file only if all of the following are true: -.IP \(bu 3 +.IP \[bu] 3 The writer has write permission on the .I cgroup.procs file in the destination cgroup. -.IP \(bu +.IP \[bu] The writer has write permission on the .I cgroup.procs file in the nearest common ancestor of the source and destination cgroups. @@ -1222,12 +1222,12 @@ This requirement is not enforced for cgroups v1 hierarchies, with the consequence that containment in v1 is less strict than in v2. (For example, in cgroups v1 the user that owns two distinct delegated subhierarchies can move a process between the hierarchies.) -.IP \(bu +.IP \[bu] If the cgroup v2 filesystem was mounted with the .I nsdelegate option, the writer must be able to see the source and destination cgroups from its cgroup namespace. -.IP \(bu +.IP \[bu] In cgroups v1: the effective UID of the writer (i.e., the delegatee) matches the real user ID or the saved set-user-ID of the target process. @@ -1248,10 +1248,10 @@ instead, the delegater must place the first process .SH CGROUPS VERSION 2 THREAD MODE Among the restrictions imposed by cgroups v2 that were not present in cgroups v1 are the following: -.IP \(bu 3 +.IP \[bu] 3 .IR "No thread-granularity control" : all of the threads of a process must be in the same cgroup. -.IP \(bu +.IP \[bu] .IR "No internal processes" : a cgroup can't both have member processes and exercise controllers on child cgroups. @@ -1278,17 +1278,17 @@ To accommodate such use cases, Linux 4.14 added for cgroups v2. .PP Thread mode allows the following: -.IP \(bu 3 +.IP \[bu] 3 The creation of .I threaded subtrees in which the threads of a process may be spread across cgroups inside the tree. (A threaded subtree may contain multiple multithreaded processes.) -.IP \(bu +.IP \[bu] The concept of .IR "threaded controllers" , which can distribute resources across the cgroups in a threaded subtree. -.IP \(bu +.IP \[bu] A relaxation of the "no internal processes rule", so that, within a threaded subtree, a cgroup can both contain member threads and @@ -1343,7 +1343,7 @@ possible future extensions to the thread mode model .SS Threaded versus domain controllers With the addition of threads mode, cgroups v2 now distinguishes two types of resource controllers: -.IP \(bu 3 +.IP \[bu] 3 .I Threaded .\" In the kernel source, look for ".threaded[ \t]*= true" in .\" initializations of struct cgroup_subsys @@ -1356,7 +1356,7 @@ As at Linux 4.19, the following controllers are threaded: .IR perf_event , and .IR pids . -.IP \(bu +.IP \[bu] .I Domain controllers: these controllers support only process granularity for resource control. @@ -1378,19 +1378,19 @@ that currently has the type .IR domain . This has the following effects: .RS -.IP \(bu 3 +.IP \[bu] 3 The type of the cgroup .I y/z becomes .IR threaded . -.IP \(bu +.IP \[bu] The type of the parent cgroup, .IR y , becomes .IR "domain threaded" . The parent cgroup is the root of a threaded subtree (also known as the "threaded root"). -.IP \(bu +.IP \[bu] All other cgroups under .I y that were not already of type @@ -1434,12 +1434,12 @@ we (1.1) enable one or more threaded controllers and (These two steps can be done in either order.) This has the following consequences: .RS -.IP \(bu 3 +.IP \[bu] 3 The type of .I z becomes .IR "domain threaded" . -.IP \(bu +.IP \[bu] All of the descendant cgroups of .I x that were not already of type @@ -1498,17 +1498,17 @@ As with writing to some containment rules apply when writing to the .I cgroup.threads file: -.IP \(bu 3 +.IP \[bu] 3 The writer must have write permission on the cgroup.threads file in the destination cgroup. -.IP \(bu +.IP \[bu] The writer must have write permission on the .I cgroup.procs file in the common ancestor of the source and destination cgroups. (In some cases, the common ancestor may be the source or destination cgroup itself.) -.IP \(bu +.IP \[bu] The source and destination cgroups must be in the same threaded subtree. (Outside a threaded subtree, an attempt to move a thread by writing its thread ID to the @@ -1551,7 +1551,7 @@ and exercise controllers on child cgroups. A number of rules apply when writing to the .I cgroup.type file: -.IP \(bu 3 +.IP \[bu] 3 Only the string .I """threaded""" may be written. @@ -1559,30 +1559,30 @@ In other words, the only explicit transition that is possible is to convert a .I domain cgroup to type .IR threaded . -.IP \(bu +.IP \[bu] The effect of writing .I """threaded""" depends on the current value in .IR cgroup.type , as follows: .RS -.IP \(bu 3 +.IP \[bu] 3 .I domain or .IR "domain threaded" : start the creation of a threaded subtree (whose root is the parent of this cgroup) via the first of the pathways described above; -.IP \(bu +.IP \[bu] .IR "domain\ invalid" : convert this cgroup (which is inside a threaded subtree) to a usable (i.e., .IR threaded ) state; -.IP \(bu +.IP \[bu] .IR threaded : no effect (a "no-op"). .RE -.IP \(bu +.IP \[bu] We can't write to a .I cgroup.type file if the parent's type is @@ -1594,13 +1594,13 @@ state in a top-down manner. There are also some constraints that must be satisfied in order to create a threaded subtree rooted at the cgroup .IR x : -.IP \(bu 3 +.IP \[bu] 3 There can be no member processes in the descendant cgroups of .IR x . (The cgroup .I x can itself have member processes.) -.IP \(bu +.IP \[bu] No domain controllers may be enabled in .IR x 's .I cgroup.subtree_control @@ -1618,11 +1618,11 @@ According to the pathways described above, the type of a cgroup can change to .I domain threaded in either of the following cases: -.IP \(bu 3 +.IP \[bu] 3 The string .I """threaded""" is written to a child cgroup. -.IP \(bu +.IP \[bu] A threaded controller is enabled inside the cgroup and a process is made a member of the cgroup. .PP @@ -1647,14 +1647,14 @@ cgroup .I x reverts to the type .IR domain : -.IP \(bu 3 +.IP \[bu] 3 All .I domain invalid descendants of .I x that are not in lower-level threaded subtrees revert to the type .IR domain . -.IP \(bu +.IP \[bu] The root cgroups in any lower-level threaded subtrees revert to the type .IR "domain threaded" . .\" @@ -1670,10 +1670,10 @@ If the string is written to the .I cgroup.type file of one of the children of the root cgroup, then -.IP \(bu 3 +.IP \[bu] 3 The type of that cgroup becomes .IR threaded . -.IP \(bu +.IP \[bu] The type of any descendants of that cgroup that are not part of lower-level threaded subtrees changes to .IR "domain invalid" . @@ -1780,11 +1780,11 @@ If multiple cgroups v1 controllers are bound to the same hierarchy, then each will show the same hierarchy ID in this field. The value in this field will be 0 if: .RS -.IP \(bu 3 +.IP \[bu] 3 the controller is not mounted on a cgroups v1 hierarchy; -.IP \(bu +.IP \[bu] the controller is bound to the cgroups v2 single unified hierarchy; or -.IP \(bu +.IP \[bu] the controller is disabled (see below). .RE .IP [3] |