Lines Matching full:cpus

31      2.2 Adding/removing cpus
43 Cpusets provide a mechanism for assigning a set of CPUs and Memory
57 include CPUs in its CPU affinity mask, and using the mbind(2) and
60 CPUs or Memory Nodes not in that cpuset. The scheduler will not
67 cpusets and which CPUs and Memory Nodes are assigned to each cpuset,
75 The management of large computer systems, with many processors (CPUs),
113 Cpusets provide a Linux kernel mechanism to constrain which CPUs and
117 CPUs a task may be scheduled (sched_setaffinity) and on which Memory
122 - Cpusets are sets of allowed CPUs and Memory Nodes, known to the
126 - Calls to sched_setaffinity are filtered to just those CPUs
130 - The root cpuset contains all the systems CPUs and Memory
138 any overlapping CPUs or Memory Nodes.
146 - in sched_setaffinity, to mask the requested CPUs by what's
149 the CPUs allowed by their cpuset, if possible.
161 displaying the task's cpus_allowed (on which CPUs it may be scheduled)
174 - cpuset.cpus: list of CPUs in that cpuset
183 - cpuset.sched_load_balance flag: if set, load balance within CPUs on that cpuset
192 CPUs and Memory Nodes, and attached tasks, are modified by writing
201 to using the CPUs and Memory Nodes of a particular cpuset. A task
211 - Its CPUs and Memory Nodes must be a subset of its parents.
222 The cpus and mems files in the root (top_cpuset) cpuset are
223 read-only. The cpus file automatically tracks the value of
229 normally read-only copies of cpuset.cpus and cpuset.mems files
233 events will not change cpuset.cpus and cpuset.mems. Those events will
235 the actual cpus and memory nodes that are currently used by this cpuset.
244 a direct ancestor or descendant, may share any of the same CPUs or
394 CPU will look for tasks on other more overloaded CPUs and move those
400 linearly with the number of CPUs being balanced. So the scheduler
401 has support to partition the systems CPUs into a number of sched
403 Each sched domain covers some subset of the CPUs in the system;
404 no two sched domains overlap; some CPUs might not be in any sched
411 By default, there is one sched domain covering all CPUs, including those
413 the isolated CPUs will not participate in load balancing, and will not
416 This default load balancing across all CPUs is not well suited for
419 1) On large systems, load balancing across many CPUs is expensive.
421 on separate sets of CPUs, full load balancing is unnecessary.
422 2) Systems supporting realtime on some CPUs need to minimize
423 system overhead on those CPUs, including avoiding task load
427 setting), it requests that all the CPUs in that cpusets allowed 'cpuset.cpus'
433 scheduler will avoid load balancing across the CPUs in that cpuset,
439 CPUs, and the setting of the "cpuset.sched_load_balance" flag in any other
448 may be artificially constrained to some subset of CPUs, depending on
450 such a task could use spare CPU cycles in some other CPUs, the kernel
463 across partially overlapping sets of CPUs would risk unstable dynamics
473 will get balancing across all its CPUs, but if it disables the flag,
477 If two cpusets have partially overlapping 'cpuset.cpus' allowed, and only
479 tasks only partially load balanced, just on the overlapping CPUs.
484 constrained to some subset of the CPUs allowed to them, for lack of
485 load balancing to the other CPUs.
487 CPUs in "cpuset.isolcpus" were excluded from load balancing by the
496 ensure that it can load balance across all the CPUs in that cpuset
497 (makes sure that all the CPUs in the cpus_allowed of that cpuset are
510 of CPUs allowed to a cpuset having 'cpuset.sched_load_balance' enabled.
514 CPUs in the system. This partition is a set of subsets (represented
515 as an array of struct cpumask) of CPUs, pairwise disjoint, that cover
516 all the CPUs that must be load balanced.
522 - the 'cpuset.sched_load_balance' flag of a cpuset with non-empty CPUs changes,
523 - or CPUs come or go from a cpuset with this flag enabled,
524 - or 'cpuset.sched_relax_domain_level' value of a cpuset with non-empty CPUs
526 - or a cpuset with non-empty CPUs and with this flag enabled is removed,
553 extra tasks from other busy CPUs to help them before it is going to
557 idle CPUs, the scheduler might not search all CPUs in the domain
579 3 search cpus in a node [= system wide on non-NUMA system]
637 If a cpuset has its 'cpuset.cpus' modified, then each task in that cpuset
669 to remove all the CPUs that are currently assigned to a cpuset,
671 with non-empty cpus. But the moving of some (or all) tasks might fail if
675 their cpus_allowed to allow all online CPUs. When memory hotplug
679 its allowed CPUs or Memory Nodes taken offline.
701 named "Charlie", containing just CPUs 2 and 3, and Memory Node 1,
708 /bin/echo 2-3 > cpuset.cpus
763 cpuset.cpus cpuset.sched_load_balance
769 the CPUs and Memory Nodes it can use, the processes that are using
777 Add some cpus::
779 # /bin/echo 0-7 > cpuset.cpus
813 2.2 Adding/removing cpus
816 This is the syntax to use when writing in the cpus or mems files
819 # /bin/echo 1-4 > cpuset.cpus -> set cpus list to cpus 1,2,3,4
820 # /bin/echo 1,2,3,4 > cpuset.cpus -> set cpus list to cpus 1,2,3,4
822 To add a CPU to a cpuset, write the new list of CPUs including the
825 # /bin/echo 1-4,6 > cpuset.cpus -> set cpus list to cpus 1,2,3,4,6
827 Similarly to remove a CPU from a cpuset, write the new list of CPUs
830 To remove all the CPUs::
832 # /bin/echo "" > cpuset.cpus -> clear cpus list