diff options
Diffstat (limited to 'Documentation/cpusets.txt')
| -rw-r--r-- | Documentation/cpusets.txt | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Documentation/cpusets.txt b/Documentation/cpusets.txt index fb7b361e6eea..1f5a924d1e56 100644 --- a/Documentation/cpusets.txt +++ b/Documentation/cpusets.txt | |||
| @@ -154,13 +154,15 @@ browsing and modifying the cpusets presently known to the kernel. No | |||
| 154 | new system calls are added for cpusets - all support for querying and | 154 | new system calls are added for cpusets - all support for querying and |
| 155 | modifying cpusets is via this cpuset file system. | 155 | modifying cpusets is via this cpuset file system. |
| 156 | 156 | ||
| 157 | The /proc/<pid>/status file for each task has two added lines, | 157 | The /proc/<pid>/status file for each task has four added lines, |
| 158 | displaying the tasks cpus_allowed (on which CPUs it may be scheduled) | 158 | displaying the tasks cpus_allowed (on which CPUs it may be scheduled) |
| 159 | and mems_allowed (on which Memory Nodes it may obtain memory), | 159 | and mems_allowed (on which Memory Nodes it may obtain memory), |
| 160 | in the format seen in the following example: | 160 | in the two formats seen in the following example: |
| 161 | 161 | ||
| 162 | Cpus_allowed: ffffffff,ffffffff,ffffffff,ffffffff | 162 | Cpus_allowed: ffffffff,ffffffff,ffffffff,ffffffff |
| 163 | Cpus_allowed_list: 0-127 | ||
| 163 | Mems_allowed: ffffffff,ffffffff | 164 | Mems_allowed: ffffffff,ffffffff |
| 165 | Mems_allowed_list: 0-63 | ||
| 164 | 166 | ||
| 165 | Each cpuset is represented by a directory in the cgroup file system | 167 | Each cpuset is represented by a directory in the cgroup file system |
| 166 | containing (on top of the standard cgroup files) the following | 168 | containing (on top of the standard cgroup files) the following |
| @@ -199,7 +201,7 @@ using the sched_setaffinity, mbind and set_mempolicy system calls. | |||
| 199 | The following rules apply to each cpuset: | 201 | The following rules apply to each cpuset: |
| 200 | 202 | ||
| 201 | - Its CPUs and Memory Nodes must be a subset of its parents. | 203 | - Its CPUs and Memory Nodes must be a subset of its parents. |
| 202 | - It can only be marked exclusive if its parent is. | 204 | - It can't be marked exclusive unless its parent is. |
| 203 | - If its cpu or memory is exclusive, they may not overlap any sibling. | 205 | - If its cpu or memory is exclusive, they may not overlap any sibling. |
| 204 | 206 | ||
| 205 | These rules, and the natural hierarchy of cpusets, enable efficient | 207 | These rules, and the natural hierarchy of cpusets, enable efficient |
| @@ -345,7 +347,7 @@ is modified to perform an inline check for this PF_SPREAD_PAGE task | |||
| 345 | flag, and if set, a call to a new routine cpuset_mem_spread_node() | 347 | flag, and if set, a call to a new routine cpuset_mem_spread_node() |
| 346 | returns the node to prefer for the allocation. | 348 | returns the node to prefer for the allocation. |
| 347 | 349 | ||
| 348 | Similarly, setting 'memory_spread_cache' turns on the flag | 350 | Similarly, setting 'memory_spread_slab' turns on the flag |
| 349 | PF_SPREAD_SLAB, and appropriately marked slab caches will allocate | 351 | PF_SPREAD_SLAB, and appropriately marked slab caches will allocate |
| 350 | pages from the node returned by cpuset_mem_spread_node(). | 352 | pages from the node returned by cpuset_mem_spread_node(). |
| 351 | 353 | ||
| @@ -542,7 +544,10 @@ otherwise initial value -1 that indicates the cpuset has no request. | |||
| 542 | 2 : search cores in a package. | 544 | 2 : search cores in a package. |
| 543 | 3 : search cpus in a node [= system wide on non-NUMA system] | 545 | 3 : search cpus in a node [= system wide on non-NUMA system] |
| 544 | ( 4 : search nodes in a chunk of node [on NUMA system] ) | 546 | ( 4 : search nodes in a chunk of node [on NUMA system] ) |
| 545 | ( 5~ : search system wide [on NUMA system]) | 547 | ( 5 : search system wide [on NUMA system] ) |
| 548 | |||
| 549 | The system default is architecture dependent. The system default | ||
| 550 | can be changed using the relax_domain_level= boot parameter. | ||
| 546 | 551 | ||
| 547 | This file is per-cpuset and affect the sched domain where the cpuset | 552 | This file is per-cpuset and affect the sched domain where the cpuset |
| 548 | belongs to. Therefore if the flag 'sched_load_balance' of a cpuset | 553 | belongs to. Therefore if the flag 'sched_load_balance' of a cpuset |
| @@ -709,7 +714,10 @@ Now you want to do something with this cpuset. | |||
| 709 | 714 | ||
| 710 | In this directory you can find several files: | 715 | In this directory you can find several files: |
| 711 | # ls | 716 | # ls |
| 712 | cpus cpu_exclusive mems mem_exclusive mem_hardwall tasks | 717 | cpu_exclusive memory_migrate mems tasks |
| 718 | cpus memory_pressure notify_on_release | ||
| 719 | mem_exclusive memory_spread_page sched_load_balance | ||
| 720 | mem_hardwall memory_spread_slab sched_relax_domain_level | ||
| 713 | 721 | ||
| 714 | Reading them will give you information about the state of this cpuset: | 722 | Reading them will give you information about the state of this cpuset: |
| 715 | the CPUs and Memory Nodes it can use, the processes that are using | 723 | the CPUs and Memory Nodes it can use, the processes that are using |
