···22 -------3344Written by Paul Menage <menage@google.com> based on55-Documentation/cgroups/cpusets.txt55+Documentation/cgroup-v1/cpusets.txt6677Original copyright statements from cpusets.txt:88Portions Copyright (C) 2004 BULL SA.···7272tracking. The intention is that other subsystems hook into the generic7373cgroup support to provide new attributes for cgroups, such as7474accounting/limiting the resources which processes in a cgroup can7575-access. For example, cpusets (see Documentation/cgroups/cpusets.txt) allow7575+access. For example, cpusets (see Documentation/cgroup-v1/cpusets.txt) allow7676you to associate a set of CPUs and a set of memory nodes with the7777tasks in each cgroup.7878
+1-1
Documentation/cgroup-v1/cpusets.txt
···4848job placement on large systems.49495050Cpusets use the generic cgroup subsystem described in5151-Documentation/cgroups/cgroups.txt.5151+Documentation/cgroup-v1/cgroups.txt.52525353Requests by a task, using the sched_setaffinity(2) system call to5454include CPUs in its CPU affinity mask, and using the mbind(2) and
+2-2
Documentation/cgroup-v1/memcg_test.txt
···66is complex. This is a document for memcg's internal behavior.77Please note that implementation details can be changed.8899-(*) Topics on API should be in Documentation/cgroups/memory.txt)99+(*) Topics on API should be in Documentation/cgroup-v1/memory.txt)101011110. How to record usage ?1212 2 objects are used.···256256257257 You can see charges have been moved by reading *.usage_in_bytes or258258 memory.stat of both A and B.259259- See 8.2 of Documentation/cgroups/memory.txt to see what value should be259259+ See 8.2 of Documentation/cgroup-v1/memory.txt to see what value should be260260 written to move_charge_at_immigrate.261261262262 9.10 Memory thresholds
+1-1
Documentation/filesystems/tmpfs.txt
···9898use at file creation time. When a task allocates a file in the file9999system, the mount option memory policy will be applied with a NodeList,100100if any, modified by the calling task's cpuset constraints101101-[See Documentation/cgroups/cpusets.txt] and any optional flags, listed101101+[See Documentation/cgroup-v1/cpusets.txt] and any optional flags, listed102102below. If the resulting NodeLists is the empty set, the effective memory103103policy for the file will revert to "default" policy.104104
+2-2
Documentation/kernel-parameters.txt
···3547354735483548 relax_domain_level=35493549 [KNL, SMP] Set scheduler's default relax_domain_level.35503550- See Documentation/cgroups/cpusets.txt.35503550+ See Documentation/cgroup-v1/cpusets.txt.3551355135523552 relative_sleep_states=35533553 [SUSPEND] Use sleep state labeling where the deepest···38673867 swapaccount=[0|1]38683868 [KNL] Enable accounting of swap in memory resource38693869 controller if no parameter or 1 is given or disable38703870- it if 0 is given (See Documentation/cgroups/memory.txt)38703870+ it if 0 is given (See Documentation/cgroup-v1/memory.txt)3871387138723872 swiotlb= [ARM,IA-64,PPC,MIPS,X86]38733873 Format: { <int> | force }
+1-1
Documentation/kernel-per-CPU-kthreads.txt
···10101111o Documentation/IRQ-affinity.txt: Binding interrupts to sets of CPUs.12121313-o Documentation/cgroups: Using cgroups to bind tasks to sets of CPUs.1313+o Documentation/cgroup-v1: Using cgroups to bind tasks to sets of CPUs.14141515o man taskset: Using the taskset command to bind tasks to sets1616 of CPUs.
+1-1
Documentation/scheduler/sched-deadline.txt
···431431432432 -deadline tasks cannot have an affinity mask smaller that the entire433433 root_domain they are created on. However, affinities can be specified434434- through the cpuset facility (Documentation/cgroups/cpusets.txt).434434+ through the cpuset facility (Documentation/cgroup-v1/cpusets.txt).4354354364365.1 SCHED_DEADLINE and cpusets HOWTO437437------------------------------------
+1-1
Documentation/scheduler/sched-design-CFS.txt
···215215216216 These options need CONFIG_CGROUPS to be defined, and let the administrator217217 create arbitrary groups of tasks, using the "cgroup" pseudo filesystem. See218218- Documentation/cgroups/cgroups.txt for more information about this filesystem.218218+ Documentation/cgroup-v1/cgroups.txt for more information about this filesystem.219219220220When CONFIG_FAIR_GROUP_SCHED is defined, a "cpu.shares" file is created for each221221group created using the pseudo filesystem. See example steps below to create
+1-1
Documentation/scheduler/sched-rt-group.txt
···133133to control the CPU time reserved for each control group.134134135135For more information on working with control groups, you should read136136-Documentation/cgroups/cgroups.txt as well.136136+Documentation/cgroup-v1/cgroups.txt as well.137137138138Group settings are checked against the following limits in order to keep the139139configuration schedulable:
+2-2
Documentation/vm/numa
···6363physical memory. NUMA emluation is useful for testing NUMA kernel and6464application features on non-NUMA platforms, and as a sort of memory resource6565management mechanism when used together with cpusets.6666-[see Documentation/cgroups/cpusets.txt]6666+[see Documentation/cgroup-v1/cpusets.txt]67676868For each node with memory, Linux constructs an independent memory management6969subsystem, complete with its own free page lists, in-use page lists, usage···113113114114System administrators can restrict the CPUs and nodes' memories that a non-115115privileged user can specify in the scheduling or NUMA commands and functions116116-using control groups and CPUsets. [see Documentation/cgroups/cpusets.txt]116116+using control groups and CPUsets. [see Documentation/cgroup-v1/cpusets.txt]117117118118On architectures that do not hide memoryless nodes, Linux will include only119119zones [nodes] with memory in the zonelists. This means that for a memoryless
+1-1
Documentation/vm/numa_memory_policy.txt
···99support.10101111Memory policies should not be confused with cpusets1212-(Documentation/cgroups/cpusets.txt)1212+(Documentation/cgroup-v1/cpusets.txt)1313which is an administrative mechanism for restricting the nodes from which1414memory may be allocated by a set of processes. Memory policies are a1515programming interface that a NUMA-aware application can take advantage of. When
+1-1
Documentation/vm/page_migration
···3838Larger installations usually partition the system using cpusets into3939sections of nodes. Paul Jackson has equipped cpusets with the ability to4040move pages when a task is moved to another cpuset (See4141-Documentation/cgroups/cpusets.txt).4141+Documentation/cgroup-v1/cpusets.txt).4242Cpusets allows the automation of process locality. If a task is moved to4343a new cpuset then also all its pages are moved with it so that the4444performance of the process does not sink dramatically. Also the pages
+1-1
Documentation/vm/unevictable-lru.txt
···122122--------------------------------123123124124The unevictable LRU facility interacts with the memory control group [aka125125-memory controller; see Documentation/cgroups/memory.txt] by extending the125125+memory controller; see Documentation/cgroup-v1/memory.txt] by extending the126126lru_list enum.127127128128The memory controller data structure automatically gets a per-zone unevictable
+2-2
Documentation/x86/x86_64/fake-numa-for-cpusets
···88amount of system memory that are available to a certain class of tasks.991010For more information on the features of cpusets, see1111-Documentation/cgroups/cpusets.txt.1111+Documentation/cgroup-v1/cpusets.txt.1212There are a number of different configurations you can use for your needs. For1313more information on the numa=fake command line option and its various ways of1414configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt.···3333 On node 3 totalpages: 13107234343535Now following the instructions for mounting the cpusets filesystem from3636-Documentation/cgroups/cpusets.txt, you can assign fake nodes (i.e. contiguous memory3636+Documentation/cgroup-v1/cpusets.txt, you can assign fake nodes (i.e. contiguous memory3737address spaces) to individual cpusets:38383939 [root@xroads /]# mkdir exampleset