| .. | .. |
|---|
| 67 | 67 | physical memory. NUMA emluation is useful for testing NUMA kernel and |
|---|
| 68 | 68 | application features on non-NUMA platforms, and as a sort of memory resource |
|---|
| 69 | 69 | management mechanism when used together with cpusets. |
|---|
| 70 | | -[see Documentation/cgroup-v1/cpusets.txt] |
|---|
| 70 | +[see Documentation/admin-guide/cgroup-v1/cpusets.rst] |
|---|
| 71 | 71 | |
|---|
| 72 | 72 | For each node with memory, Linux constructs an independent memory management |
|---|
| 73 | 73 | subsystem, complete with its own free page lists, in-use page lists, usage |
|---|
| .. | .. |
|---|
| 99 | 99 | as long as the task on whose behalf the kernel allocated some memory does not |
|---|
| 100 | 100 | later migrate away from that memory. The Linux scheduler is aware of the |
|---|
| 101 | 101 | NUMA topology of the platform--embodied in the "scheduling domains" data |
|---|
| 102 | | -structures [see Documentation/scheduler/sched-domains.txt]--and the scheduler |
|---|
| 102 | +structures [see Documentation/scheduler/sched-domains.rst]--and the scheduler |
|---|
| 103 | 103 | attempts to minimize task migration to distant scheduling domains. However, |
|---|
| 104 | 104 | the scheduler does not take a task's NUMA footprint into account directly. |
|---|
| 105 | 105 | Thus, under sufficient imbalance, tasks can migrate between nodes, remote |
|---|
| .. | .. |
|---|
| 109 | 109 | to improve NUMA locality using various CPU affinity command line interfaces, |
|---|
| 110 | 110 | such as taskset(1) and numactl(1), and program interfaces such as |
|---|
| 111 | 111 | sched_setaffinity(2). Further, one can modify the kernel's default local |
|---|
| 112 | | -allocation behavior using Linux NUMA memory policy. |
|---|
| 113 | | -[see Documentation/admin-guide/mm/numa_memory_policy.rst.] |
|---|
| 112 | +allocation behavior using Linux NUMA memory policy. [see |
|---|
| 113 | +:ref:`Documentation/admin-guide/mm/numa_memory_policy.rst <numa_memory_policy>`]. |
|---|
| 114 | 114 | |
|---|
| 115 | 115 | System administrators can restrict the CPUs and nodes' memories that a non- |
|---|
| 116 | 116 | privileged user can specify in the scheduling or NUMA commands and functions |
|---|
| 117 | | -using control groups and CPUsets. [see Documentation/cgroup-v1/cpusets.txt] |
|---|
| 117 | +using control groups and CPUsets. [see Documentation/admin-guide/cgroup-v1/cpusets.rst] |
|---|
| 118 | 118 | |
|---|
| 119 | 119 | On architectures that do not hide memoryless nodes, Linux will include only |
|---|
| 120 | 120 | zones [nodes] with memory in the zonelists. This means that for a memoryless |
|---|