Home
last modified time | relevance | path

Searched full:cpus (Results 1 – 25 of 4305) sorted by relevance

12345678910>>...173

/kernel/linux/linux-5.10/tools/lib/perf/
Dcpumap.c15 struct perf_cpu_map *cpus = malloc(sizeof(*cpus) + sizeof(int)); in perf_cpu_map__dummy_new() local
17 if (cpus != NULL) { in perf_cpu_map__dummy_new()
18 cpus->nr = 1; in perf_cpu_map__dummy_new()
19 cpus->map[0] = -1; in perf_cpu_map__dummy_new()
20 refcount_set(&cpus->refcnt, 1); in perf_cpu_map__dummy_new()
23 return cpus; in perf_cpu_map__dummy_new()
50 struct perf_cpu_map *cpus; in cpu_map__default_new() local
57 cpus = malloc(sizeof(*cpus) + nr_cpus * sizeof(int)); in cpu_map__default_new()
58 if (cpus != NULL) { in cpu_map__default_new()
62 cpus->map[i] = i; in cpu_map__default_new()
[all …]
Devlist.c42 * We already have cpus for evsel (via PMU sysfs) so in __perf_evlist__propagate_maps()
46 perf_cpu_map__put(evsel->cpus); in __perf_evlist__propagate_maps()
47 evsel->cpus = perf_cpu_map__get(evlist->cpus); in __perf_evlist__propagate_maps()
48 } else if (!evsel->system_wide && perf_cpu_map__empty(evlist->cpus)) { in __perf_evlist__propagate_maps()
49 perf_cpu_map__put(evsel->cpus); in __perf_evlist__propagate_maps()
50 evsel->cpus = perf_cpu_map__get(evlist->cpus); in __perf_evlist__propagate_maps()
51 } else if (evsel->cpus != evsel->own_cpus) { in __perf_evlist__propagate_maps()
52 perf_cpu_map__put(evsel->cpus); in __perf_evlist__propagate_maps()
53 evsel->cpus = perf_cpu_map__get(evsel->own_cpus); in __perf_evlist__propagate_maps()
58 evlist->all_cpus = perf_cpu_map__merge(evlist->all_cpus, evsel->cpus); in __perf_evlist__propagate_maps()
[all …]
/kernel/linux/linux-5.10/drivers/cpuidle/
Dcoupled.c3 * coupled.c - helper functions to enter the same idle state on multiple cpus
24 * cpus cannot be independently powered down, either due to
31 * shared between the cpus (L2 cache, interrupt controller, and
33 * be tightly controlled on both cpus.
36 * WFI state until all cpus are ready to enter a coupled state, at
38 * cpus at approximately the same time.
40 * Once all cpus are ready to enter idle, they are woken by an smp
42 * cpus will find work to do, and choose not to enter idle. A
43 * final pass is needed to guarantee that all cpus will call the
46 * ready counter matches the number of online coupled cpus. If any
[all …]
/kernel/linux/linux-4.19/drivers/cpuidle/
Dcoupled.c2 * coupled.c - helper functions to enter the same idle state on multiple cpus
33 * cpus cannot be independently powered down, either due to
40 * shared between the cpus (L2 cache, interrupt controller, and
42 * be tightly controlled on both cpus.
45 * WFI state until all cpus are ready to enter a coupled state, at
47 * cpus at approximately the same time.
49 * Once all cpus are ready to enter idle, they are woken by an smp
51 * cpus will find work to do, and choose not to enter idle. A
52 * final pass is needed to guarantee that all cpus will call the
55 * ready counter matches the number of online coupled cpus. If any
[all …]
/kernel/linux/linux-4.19/tools/perf/util/
Dcpumap.c22 struct cpu_map *cpus; in cpu_map__default_new() local
29 cpus = malloc(sizeof(*cpus) + nr_cpus * sizeof(int)); in cpu_map__default_new()
30 if (cpus != NULL) { in cpu_map__default_new()
33 cpus->map[i] = i; in cpu_map__default_new()
35 cpus->nr = nr_cpus; in cpu_map__default_new()
36 refcount_set(&cpus->refcnt, 1); in cpu_map__default_new()
39 return cpus; in cpu_map__default_new()
45 struct cpu_map *cpus = malloc(sizeof(*cpus) + payload_size); in cpu_map__trim_new() local
47 if (cpus != NULL) { in cpu_map__trim_new()
48 cpus->nr = nr_cpus; in cpu_map__trim_new()
[all …]
/kernel/linux/linux-4.19/Documentation/timers/
DNO_HZ.txt17 2. Omit scheduling-clock ticks on idle CPUs (CONFIG_NO_HZ_IDLE=y or
21 3. Omit scheduling-clock ticks on CPUs that are either idle or that
62 OMIT SCHEDULING-CLOCK TICKS FOR IDLE CPUs
70 scheduling-clock interrupts to idle CPUs, which is critically important
78 idle CPUs. That said, dyntick-idle mode is not free:
100 OMIT SCHEDULING-CLOCK TICKS FOR CPUs WITH ONLY ONE RUNNABLE TASK
104 Note that omitting scheduling-clock ticks for CPUs with only one runnable
105 task implies also omitting them for idle CPUs.
108 sending scheduling-clock interrupts to CPUs with a single runnable task,
109 and such CPUs are said to be "adaptive-ticks CPUs". This is important
[all …]
/kernel/linux/linux-5.10/Documentation/admin-guide/cgroup-v1/
Dcpusets.rst31 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
[all …]
/kernel/linux/linux-5.10/Documentation/timers/
Dno_hz.rst19 2. Omit scheduling-clock ticks on idle CPUs (CONFIG_NO_HZ_IDLE=y or
23 3. Omit scheduling-clock ticks on CPUs that are either idle or that
65 Omit Scheduling-Clock Ticks For Idle CPUs
74 scheduling-clock interrupts to idle CPUs, which is critically important
82 idle CPUs. That said, dyntick-idle mode is not free:
104 Omit Scheduling-Clock Ticks For CPUs With Only One Runnable Task
109 Note that omitting scheduling-clock ticks for CPUs with only one runnable
110 task implies also omitting them for idle CPUs.
113 sending scheduling-clock interrupts to CPUs with a single runnable task,
114 and such CPUs are said to be "adaptive-ticks CPUs". This is important
[all …]
/kernel/linux/linux-4.19/Documentation/cgroup-v1/
Dcpusets.txt28 2.2 Adding/removing cpus
40 Cpusets provide a mechanism for assigning a set of CPUs and Memory
54 include CPUs in its CPU affinity mask, and using the mbind(2) and
57 CPUs or Memory Nodes not in that cpuset. The scheduler will not
64 cpusets and which CPUs and Memory Nodes are assigned to each cpuset,
72 The management of large computer systems, with many processors (CPUs),
110 Cpusets provide a Linux kernel mechanism to constrain which CPUs and
114 CPUs a task may be scheduled (sched_setaffinity) and on which Memory
119 - Cpusets are sets of allowed CPUs and Memory Nodes, known to the
123 - Calls to sched_setaffinity are filtered to just those CPUs
[all …]
/kernel/linux/linux-4.19/tools/perf/tests/
Dopenat-syscall-all-cpus.c23 struct cpu_map *cpus; in test__openat_syscall_event_on_all_cpus() local
36 cpus = cpu_map__new(NULL); in test__openat_syscall_event_on_all_cpus()
37 if (cpus == NULL) { in test__openat_syscall_event_on_all_cpus()
51 if (perf_evsel__open(evsel, cpus, threads) < 0) { in test__openat_syscall_event_on_all_cpus()
58 for (cpu = 0; cpu < cpus->nr; ++cpu) { in test__openat_syscall_event_on_all_cpus()
63 * without CPU_ALLOC. 1024 cpus in 2010 still seems in test__openat_syscall_event_on_all_cpus()
66 if (cpus->map[cpu] >= CPU_SETSIZE) { in test__openat_syscall_event_on_all_cpus()
67 pr_debug("Ignoring CPU %d\n", cpus->map[cpu]); in test__openat_syscall_event_on_all_cpus()
71 CPU_SET(cpus->map[cpu], &cpu_set); in test__openat_syscall_event_on_all_cpus()
74 cpus->map[cpu], in test__openat_syscall_event_on_all_cpus()
[all …]
/kernel/linux/linux-5.10/tools/perf/tests/
Dopenat-syscall-all-cpus.c26 struct perf_cpu_map *cpus; in test__openat_syscall_event_on_all_cpus() local
39 cpus = perf_cpu_map__new(NULL); in test__openat_syscall_event_on_all_cpus()
40 if (cpus == NULL) { in test__openat_syscall_event_on_all_cpus()
54 if (evsel__open(evsel, cpus, threads) < 0) { in test__openat_syscall_event_on_all_cpus()
61 for (cpu = 0; cpu < cpus->nr; ++cpu) { in test__openat_syscall_event_on_all_cpus()
66 * without CPU_ALLOC. 1024 cpus in 2010 still seems in test__openat_syscall_event_on_all_cpus()
69 if (cpus->map[cpu] >= CPU_SETSIZE) { in test__openat_syscall_event_on_all_cpus()
70 pr_debug("Ignoring CPU %d\n", cpus->map[cpu]); in test__openat_syscall_event_on_all_cpus()
74 CPU_SET(cpus->map[cpu], &cpu_set); in test__openat_syscall_event_on_all_cpus()
77 cpus->map[cpu], in test__openat_syscall_event_on_all_cpus()
[all …]
/kernel/linux/linux-5.10/tools/perf/arch/arm64/util/
Dheader.c17 static int _get_cpuid(char *buf, size_t sz, struct perf_cpu_map *cpus) in _get_cpuid() argument
26 cpus = perf_cpu_map__get(cpus); in _get_cpuid()
28 for (cpu = 0; cpu < perf_cpu_map__nr(cpus); cpu++) { in _get_cpuid()
33 sysfs, cpus->map[cpu]); in _get_cpuid()
57 perf_cpu_map__put(cpus); in _get_cpuid()
67 struct perf_cpu_map *cpus = perf_cpu_map__new(NULL); in get_cpuid() local
70 if (!cpus) in get_cpuid()
73 ret = _get_cpuid(buf, sz, cpus); in get_cpuid()
75 perf_cpu_map__put(cpus); in get_cpuid()
85 if (!pmu || !pmu->cpus) in get_cpuid_str()
[all …]
/kernel/linux/linux-5.10/include/linux/
Dstop_machine.h13 * function to be executed on a single or multiple cpus preempting all
14 * other processes and monopolizing those cpus until it finishes.
18 * cpus are online.
105 * stop_machine: freeze the machine on all CPUs and run this function
108 * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
120 int stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus);
123 * stop_machine_cpuslocked: freeze the machine on all CPUs and run this function
126 * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
131 int stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus);
134 const struct cpumask *cpus);
[all …]
/kernel/linux/linux-4.19/include/linux/
Dstop_machine.h13 * function to be executed on a single or multiple cpus preempting all
14 * other processes and monopolizing those cpus until it finishes.
18 * cpus are online.
109 * stop_machine: freeze the machine on all CPUs and run this function
112 * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
124 int stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus);
127 * stop_machine_cpuslocked: freeze the machine on all CPUs and run this function
130 * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
135 int stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus);
138 const struct cpumask *cpus);
[all …]
/kernel/linux/linux-4.19/drivers/clk/sunxi/
Dclk-sun9i-cpus.c7 * Allwinner A80 CPUS clock driver
21 * sun9i_a80_cpus_clk_setup() - Setup function for a80 cpus composite clk
54 struct sun9i_a80_cpus_clk *cpus = to_sun9i_a80_cpus_clk(hw); in sun9i_a80_cpus_clk_recalc_rate() local
59 reg = readl(cpus->reg); in sun9i_a80_cpus_clk_recalc_rate()
154 struct sun9i_a80_cpus_clk *cpus = to_sun9i_a80_cpus_clk(hw); in sun9i_a80_cpus_clk_set_rate() local
161 reg = readl(cpus->reg); in sun9i_a80_cpus_clk_set_rate()
169 writel(reg, cpus->reg); in sun9i_a80_cpus_clk_set_rate()
187 struct sun9i_a80_cpus_clk *cpus; in sun9i_a80_cpus_setup() local
192 cpus = kzalloc(sizeof(*cpus), GFP_KERNEL); in sun9i_a80_cpus_setup()
193 if (!cpus) in sun9i_a80_cpus_setup()
[all …]
/kernel/linux/linux-5.10/drivers/clk/sunxi/
Dclk-sun9i-cpus.c7 * Allwinner A80 CPUS clock driver
22 * sun9i_a80_cpus_clk_setup() - Setup function for a80 cpus composite clk
55 struct sun9i_a80_cpus_clk *cpus = to_sun9i_a80_cpus_clk(hw); in sun9i_a80_cpus_clk_recalc_rate() local
60 reg = readl(cpus->reg); in sun9i_a80_cpus_clk_recalc_rate()
155 struct sun9i_a80_cpus_clk *cpus = to_sun9i_a80_cpus_clk(hw); in sun9i_a80_cpus_clk_set_rate() local
162 reg = readl(cpus->reg); in sun9i_a80_cpus_clk_set_rate()
170 writel(reg, cpus->reg); in sun9i_a80_cpus_clk_set_rate()
188 struct sun9i_a80_cpus_clk *cpus; in sun9i_a80_cpus_setup() local
193 cpus = kzalloc(sizeof(*cpus), GFP_KERNEL); in sun9i_a80_cpus_setup()
194 if (!cpus) in sun9i_a80_cpus_setup()
[all …]
/kernel/linux/linux-5.10/Documentation/admin-guide/
Dcputopology.rst41 internal kernel map of CPUs within the same core.
46 human-readable list of CPUs within the same core.
51 internal kernel map of the CPUs sharing the same physical_package_id.
56 human-readable list of CPUs sharing the same physical_package_id.
61 internal kernel map of CPUs within the same die.
65 human-readable list of CPUs within the same die.
137 offline: CPUs that are not online because they have been
139 of CPUs allowed by the kernel configuration (kernel_max
140 above). [~cpu_online_mask + cpus >= NR_CPUS]
142 online: CPUs that are online and being scheduled [cpu_online_mask]
[all …]
/kernel/linux/linux-5.10/tools/lib/perf/tests/
Dtest-evlist.c30 struct perf_cpu_map *cpus; in test_stat_cpu() local
43 cpus = perf_cpu_map__new(NULL); in test_stat_cpu()
44 __T("failed to create cpus", cpus); in test_stat_cpu()
59 perf_evlist__set_maps(evlist, cpus, NULL); in test_stat_cpu()
65 cpus = perf_evsel__cpus(evsel); in test_stat_cpu()
67 for (idx = 0; idx < perf_cpu_map__nr(cpus); idx++) { in test_stat_cpu()
78 perf_cpu_map__put(cpus); in test_stat_cpu()
200 struct perf_cpu_map *cpus; in test_mmap_thread() local
246 cpus = perf_cpu_map__dummy_new(); in test_mmap_thread()
247 __T("failed to create cpus", cpus); in test_mmap_thread()
[all …]
/kernel/linux/linux-5.10/Documentation/scheduler/
Dsched-energy.rst9 the impact of its decisions on the energy consumed by CPUs. EAS relies on an
10 Energy Model (EM) of the CPUs to select an energy efficient CPU for each task,
59 In short, EAS changes the way CFS tasks are assigned to CPUs. When it is time
64 knowledge about the platform's topology, which include the 'capacity' of CPUs,
72 differentiate CPUs with different computing throughput. The 'capacity' of a CPU
76 tasks and CPUs computed by the Per-Entity Load Tracking (PELT) mechanism. Thanks
79 energy trade-offs. The capacity of CPUs is provided via arch-specific code
99 Let us consider a platform with 12 CPUs, split in 3 performance domains
102 CPUs: 0 1 2 3 4 5 6 7 8 9 10 11
108 containing 6 CPUs. The two root domains are denoted rd1 and rd2 in the
[all …]
/kernel/linux/linux-5.10/drivers/cpufreq/
Dcpufreq-dt.c30 cpumask_var_t cpus; member
50 if (cpumask_test_cpu(cpu, priv->cpus)) in cpufreq_dt_find_data()
119 cpumask_copy(policy->cpus, priv->cpus); in cpufreq_init()
129 * Initialize OPP tables for all policy->cpus. They will be shared by in cpufreq_init()
130 * all CPUs which have marked their CPUs shared with OPP bindings. in cpufreq_init()
133 * before updating policy->cpus. Otherwise, we will end up creating in cpufreq_init()
134 * duplicate OPPs for policy->cpus. in cpufreq_init()
138 if (!dev_pm_opp_of_cpumask_add_table(policy->cpus)) in cpufreq_init()
180 dev_pm_opp_of_register_em(cpu_dev, policy->cpus); in cpufreq_init()
188 dev_pm_opp_of_cpumask_remove_table(policy->cpus); in cpufreq_init()
[all …]
/kernel/linux/linux-4.19/Documentation/power/
Dsuspend-and-cpuhotplug.txt22 |tasks | | cpus | | | | cpus | |tasks|
54 online CPUs
70 Note down these cpus in | P
93 | Call _cpu_up() [for all those cpus in the frozen_cpus mask, in a loop]
149 the non-boot CPUs are offlined or onlined, the _cpu_*() functions are called
167 update on the CPUs, as discussed below:
174 a. When all the CPUs are identical:
177 to apply the same microcode revision to each of the CPUs.
182 all CPUs, in order to handle case 'b' described below.
185 b. When some of the CPUs are different than the rest:
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/csky/
Dcpus.txt5 The device tree allows to describe the layout of CPUs in a system through
6 the "cpus" node, which in turn contains a number of subnodes (ie "cpu")
9 Only SMP system need to care about the cpus node and single processor
10 needn't define cpus node at all.
13 cpus and cpu node bindings definition
16 - cpus node
20 The node name must be "cpus".
22 A cpus node must define the following properties:
59 cpus {
/kernel/linux/linux-5.10/Documentation/power/
Dsuspend-and-cpuhotplug.rst27 |tasks | | cpus | | | | cpus | |tasks|
59 online CPUs
75 Note down these cpus in | P
100 | Call _cpu_up() [for all those cpus in the frozen_cpus mask, in a loop]
158 the non-boot CPUs are offlined or onlined, the _cpu_*() functions are called
177 update on the CPUs, as discussed below:
184 a. When all the CPUs are identical:
187 to apply the same microcode revision to each of the CPUs.
192 all CPUs, in order to handle case 'b' described below.
195 b. When some of the CPUs are different than the rest:
[all …]
/kernel/linux/linux-5.10/tools/perf/util/
Dcpumap.c21 static struct perf_cpu_map *cpu_map__from_entries(struct cpu_map_entries *cpus) in cpu_map__from_entries() argument
25 map = perf_cpu_map__empty_new(cpus->nr); in cpu_map__from_entries()
29 for (i = 0; i < cpus->nr; i++) { in cpu_map__from_entries()
35 if (cpus->cpu[i] == (u16) -1) in cpu_map__from_entries()
38 map->map[i] = (int) cpus->cpu[i]; in cpu_map__from_entries()
83 struct perf_cpu_map *cpus = malloc(sizeof(*cpus) + sizeof(int) * nr); in perf_cpu_map__empty_new() local
85 if (cpus != NULL) { in perf_cpu_map__empty_new()
88 cpus->nr = nr; in perf_cpu_map__empty_new()
90 cpus->map[i] = -1; in perf_cpu_map__empty_new()
92 refcount_set(&cpus->refcnt, 1); in perf_cpu_map__empty_new()
[all …]
/kernel/linux/linux-4.19/Documentation/
Dkernel-per-CPU-kthreads.txt13 - Documentation/IRQ-affinity.txt: Binding interrupts to sets of CPUs.
15 - Documentation/cgroup-v1: Using cgroups to bind tasks to sets of CPUs.
18 of CPUs.
21 call to bind tasks to sets of CPUs.
50 2. Do all eHCA-Infiniband-related work on other CPUs, including
53 provisioned only on selected CPUs.
101 with multiple CPUs, force them all offline before bringing the
102 first one back online. Once you have onlined the CPUs in question,
103 do not offline any other CPUs, because doing so could force the
104 timer back onto one of the CPUs in question.
[all …]

12345678910>>...173