| /linux/tools/testing/selftests/rseq/ |
| H A D | basic_test.c | 18 cpu_set_t affinity, test_affinity; in test_cpu_pointer() local 21 sched_getaffinity(0, sizeof(affinity), &affinity); in test_cpu_pointer() 24 if (CPU_ISSET(i, &affinity)) { in test_cpu_pointer() 39 sched_setaffinity(0, sizeof(affinity), &affinity); in test_cpu_pointer()
|
| H A D | slice_test.c | 125 cpu_set_t affinity; in FIXTURE_SETUP() local 134 ASSERT_EQ(sched_getaffinity(0, sizeof(affinity), &affinity), 0); in FIXTURE_SETUP() 138 if (!CPU_ISSET(i, &affinity)) in FIXTURE_SETUP() 141 CPU_ZERO(&affinity); in FIXTURE_SETUP() 142 CPU_SET(i, &affinity); in FIXTURE_SETUP() 143 ASSERT_EQ(sched_setaffinity(0, sizeof(affinity), &affinity), 0); in FIXTURE_SETUP()
|
| /linux/kernel/irq/ |
| H A D | irqdesc.c | 57 if (!zalloc_cpumask_var_node(&desc->irq_common_data.affinity, in alloc_masks() 64 free_cpumask_var(desc->irq_common_data.affinity); in alloc_masks() 74 free_cpumask_var(desc->irq_common_data.affinity); in alloc_masks() 86 static void desc_smp_init(struct irq_desc *desc, int node, const struct cpumask *affinity) in desc_smp_init() argument 88 if (!affinity) in desc_smp_init() 89 affinity = irq_default_affinity; in desc_smp_init() 90 cpumask_copy(desc->irq_common_data.affinity, affinity); in desc_smp_init() 106 free_cpumask_var(desc->irq_common_data.affinity); in free_masks() 116 desc_smp_init(struct irq_desc *desc, int node, const struct cpumask *affinity) { } in desc_smp_init() argument 121 const struct cpumask *affinity, struct module *owner) in desc_set_defaults() argument [all …]
|
| H A D | manage.c | 293 cpumask_copy(desc->irq_common_data.affinity, mask); in irq_do_set_affinity() 355 cpumask_copy(desc->irq_common_data.affinity, mask); in irq_set_affinity_deactivated() 419 int irq_update_affinity_desc(unsigned int irq, struct irq_affinity_desc *affinity) in irq_update_affinity_desc() argument 447 if (affinity->is_managed) { in irq_update_affinity_desc() 452 cpumask_copy(desc->irq_common_data.affinity, &affinity->mask); in irq_update_affinity_desc() 532 cpumask_copy(cpumask, desc->irq_common_data.affinity); in irq_affinity_notify() 611 if (cpumask_intersects(desc->irq_common_data.affinity, in irq_setup_affinity() 613 set = desc->irq_common_data.affinity; in irq_setup_affinity() 1446 if (cpumask_intersects(old->affinity, new->affinity) || in valid_percpu_irqaction() 2421 if (cpumask_intersects(desc->percpu_enabled, action->affinity)) { in __free_percpu_irq() [all …]
|
| H A D | irq_test.c | 120 struct irq_affinity_desc affinity = { in irq_shutdown_depth_test() local 128 virq = irq_test_setup_fake_irq(test, &affinity); in irq_shutdown_depth_test() 172 struct irq_affinity_desc affinity = { in irq_cpuhotplug_test() local 185 cpumask_copy(&affinity.mask, cpumask_of(1)); in irq_cpuhotplug_test() 187 virq = irq_test_setup_fake_irq(test, &affinity); in irq_cpuhotplug_test()
|
| H A D | irqdomain.c | 30 bool realloc, const struct irq_affinity_desc *affinity); 783 const struct irq_affinity_desc *affinity) in irq_create_mapping_affinity_locked() argument 792 affinity); in irq_create_mapping_affinity_locked() 822 const struct irq_affinity_desc *affinity) in irq_create_mapping_affinity() argument 843 virq = irq_create_mapping_affinity_locked(domain, hwirq, affinity); in irq_create_mapping_affinity() 1284 int node, const struct irq_affinity_desc *affinity) in irq_domain_alloc_descs() argument 1290 affinity); in irq_domain_alloc_descs() 1296 affinity); in irq_domain_alloc_descs() 1299 affinity); in irq_domain_alloc_descs() 1629 bool realloc, const struct irq_affinity_desc *affinity) in irq_domain_alloc_irqs_locked() argument [all …]
|
| H A D | msi.c | 77 const struct irq_affinity_desc *affinity) in msi_alloc_desc() argument 86 if (affinity) { in msi_alloc_desc() 87 desc->affinity = kmemdup_array(affinity, nvec, sizeof(*desc->affinity), GFP_KERNEL); in msi_alloc_desc() 88 if (!desc->affinity) { in msi_alloc_desc() 98 kfree(desc->affinity); in msi_free_desc() 157 desc = msi_alloc_desc(dev, init_desc->nvec_used, init_desc->affinity); in msi_domain_insert_msi_desc() 1338 desc->affinity); in __msi_domain_alloc_irqs()
|
| /linux/tools/perf/util/ |
| H A D | affinity.h | 8 struct affinity { struct 14 void affinity__cleanup(struct affinity *a); argument 15 void affinity__set(struct affinity *a, int cpu); 16 int affinity__setup(struct affinity *a);
|
| H A D | affinity.c | 2 /* Manage affinity to optimize IPIs inside the kernel perf API. */ 11 #include "affinity.h" 25 int affinity__setup(struct affinity *a) in affinity__setup() 45 * It is more efficient to change perf's affinity to the target 49 void affinity__set(struct affinity *a, int cpu) in affinity__set() 64 * We ignore errors because affinity is just an optimization. in affinity__set() 72 static void __affinity__cleanup(struct affinity *a) in __affinity__cleanup() 82 void affinity__cleanup(struct affinity *a) in affinity__cleanup()
|
| H A D | mmap.c | 98 static int perf_mmap__aio_bind(struct mmap *map, int idx, struct perf_cpu cpu, int affinity) in perf_mmap__aio_bind() argument 106 if (affinity != PERF_AFFINITY_SYS && cpu__max_node() > 1) { in perf_mmap__aio_bind() 142 struct perf_cpu cpu __maybe_unused, int affinity __maybe_unused) in perf_mmap__aio_bind() 176 ret = perf_mmap__aio_bind(map, i, map->core.cpu, mp->affinity); in perf_mmap__aio_mmap() 269 if (mp->affinity == PERF_AFFINITY_NODE && cpu__max_node() > 1) in perf_mmap__setup_affinity_mask() 271 else if (mp->affinity == PERF_AFFINITY_CPU) in perf_mmap__setup_affinity_mask() 285 if (mp->affinity != PERF_AFFINITY_SYS && in mmap__mmap()
|
| H A D | evlist.h | 13 #include "affinity.h" 200 int affinity, int flush, int comp_level); 366 /** If present, used to set the affinity when switching between CPUs. */ 367 struct affinity *affinity; member 368 /** Maybe be used to hold affinity state prior to iterating. */ 369 struct affinity saved_affinity; 373 * evlist__for_each_cpu - without affinity, iterate over the evlist. With 374 * affinity, iterate over all CPUs and then the evlist 376 * CPUs the affinity i [all...] |
| /linux/tools/virtio/ringtest/ |
| H A D | run-on-all.sh | 20 "$@" --host-affinity $HOST_AFFINITY --guest-affinity $cpu 24 "$@" --host-affinity $HOST_AFFINITY
|
| /linux/kernel/ |
| H A D | kthread.c | 353 cpumask_var_t affinity; in kthread_affine_node() local 358 if (!zalloc_cpumask_var(&affinity, GFP_KERNEL)) { in kthread_affine_node() 373 kthread_fetch_affinity(kthread, affinity); in kthread_affine_node() 374 set_cpus_allowed_ptr(current, affinity); in kthread_affine_node() 377 free_cpumask_var(affinity); in kthread_affine_node() 842 cpumask_var_t affinity; in kthread_affine_preferred() local 852 if (!zalloc_cpumask_var(&affinity, GFP_KERNEL)) in kthread_affine_preferred() 865 kthread_fetch_affinity(kthread, affinity); in kthread_affine_preferred() 868 set_cpus_allowed_force(p, affinity); in kthread_affine_preferred() 872 free_cpumask_var(affinity); in kthread_affine_preferred() [all …]
|
| /linux/drivers/infiniband/hw/hfi1/ |
| H A D | affinity.c | 955 struct hfi1_affinity_node_list *affinity) in find_hw_thread_mask() argument 960 cpumask_copy(hw_thread_mask, &affinity->proc.mask); in find_hw_thread_mask() 962 if (affinity->num_core_siblings == 0) in find_hw_thread_mask() 965 num_cores = rounddown(node_affinity.num_online_cpus / affinity->num_core_siblings, in find_hw_thread_mask() 983 struct hfi1_affinity_node_list *affinity = &node_affinity; in hfi1_get_proc_affinity() local 984 struct cpu_mask_set *set = &affinity->proc; in hfi1_get_proc_affinity() 1042 mutex_lock(&affinity->lock); in hfi1_get_proc_affinity() 1072 for (i = 0; i < affinity->num_core_siblings; i++) { in hfi1_get_proc_affinity() 1073 find_hw_thread_mask(i, hw_thread_mask, affinity); in hfi1_get_proc_affinity() 1143 mutex_unlock(&affinity->lock); in hfi1_get_proc_affinity() [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | setup.c | 113 u32 i, affinity, fs[4], bits[4], ls; in smp_build_mpidr_hash() local 127 affinity = MPIDR_AFFINITY_LEVEL(mask, i); in smp_build_mpidr_hash() 133 ls = fls(affinity); in smp_build_mpidr_hash() 134 fs[i] = affinity ? ffs(affinity) - 1 : 0; in smp_build_mpidr_hash()
|
| /linux/Documentation/translations/zh_CN/core-api/irq/ |
| H A D | irq-affinity.rst | 3 :Original: Documentation/core-api/irq/irq-affinity.rst 9 .. _cn_irq-affinity.rst: 23 (IRQ affinity),那么所有cpu的默认值将保持不变(即关联到所有CPU).
|
| /linux/arch/alpha/kernel/ |
| H A D | sys_dp264.c | 136 cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) in cpu_set_irq_affinity() argument 142 if (cpumask_test_cpu(cpu, &affinity)) in cpu_set_irq_affinity() 151 dp264_set_affinity(struct irq_data *d, const struct cpumask *affinity, in dp264_set_affinity() argument 155 cpu_set_irq_affinity(d->irq, *affinity); in dp264_set_affinity() 163 clipper_set_affinity(struct irq_data *d, const struct cpumask *affinity, in clipper_set_affinity() argument 167 cpu_set_irq_affinity(d->irq - 16, *affinity); in clipper_set_affinity()
|
| H A D | sys_titan.c | 135 titan_cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) in titan_cpu_set_irq_affinity() argument 140 if (cpumask_test_cpu(cpu, &affinity)) in titan_cpu_set_irq_affinity() 149 titan_set_irq_affinity(struct irq_data *d, const struct cpumask *affinity, in titan_set_irq_affinity() argument 154 titan_cpu_set_irq_affinity(irq - 16, *affinity); in titan_set_irq_affinity()
|
| /linux/drivers/perf/ |
| H A D | arm_pmu.c | 29 static int armpmu_count_irq_users(const struct cpumask *affinity, 587 static int armpmu_count_irq_users(const struct cpumask *affinity, const int irq) in armpmu_count_irq_users() argument 591 for_each_cpu(cpu, affinity) { in armpmu_count_irq_users() 600 armpmu_find_irq_ops(const struct cpumask *affinity, int irq) in armpmu_find_irq_ops() argument 605 for_each_cpu(cpu, affinity) { in armpmu_find_irq_ops() 634 const struct cpumask *affinity = *armpmu ? &(*armpmu)->supported_cpus : in armpmu_request_irq() local 668 } else if (armpmu_count_irq_users(affinity, irq) == 0) { in armpmu_request_irq() 669 err = request_percpu_nmi(irq, handler, "arm-pmu", affinity, pcpu_armpmu); in armpmu_request_irq() 674 affinity, pcpu_armpmu); in armpmu_request_irq() 682 irq_ops = armpmu_find_irq_ops(affinity, irq); in armpmu_request_irq()
|
| /linux/drivers/irqchip/ |
| H A D | irq-bcm7038-l1.c | 47 u8 affinity[MAX_WORDS * IRQS_PER_WORD]; member 173 __bcm7038_l1_unmask(d, intc->affinity[d->hwirq]); in bcm7038_l1_unmask() 183 __bcm7038_l1_mask(d, intc->affinity[d->hwirq]); in bcm7038_l1_mask() 202 was_disabled = !!(intc->cpus[intc->affinity[hw]]->mask_cache[word] & in bcm7038_l1_set_affinity() 204 __bcm7038_l1_mask(d, intc->affinity[hw]); in bcm7038_l1_set_affinity() 205 intc->affinity[hw] = first_cpu; in bcm7038_l1_set_affinity()
|
| /linux/tools/perf/ |
| H A D | builtin-record.c | 100 struct mmap_cpu_mask affinity; member 1290 if (opts->affinity != PERF_AFFINITY_SYS) in record__mmap_evlist() 1296 opts->nr_cblocks, opts->affinity, in record__mmap_evlist() 1578 if (rec->opts.affinity != PERF_AFFINITY_SYS && in record__adjust_affinity() 1579 !bitmap_equal(thread->mask->affinity.bits, map->affinity_mask.bits, in record__adjust_affinity() 1580 thread->mask->affinity.nbits)) { in record__adjust_affinity() 1581 bitmap_zero(thread->mask->affinity.bits, thread->mask->affinity.nbits); in record__adjust_affinity() 1582 bitmap_or(thread->mask->affinity.bits, thread->mask->affinity in record__adjust_affinity() [all...] |
| /linux/drivers/resctrl/ |
| H A D | mpam_devices.c | 471 cpumask_t *affinity) in mpam_get_cpumask_from_cache_id() argument 473 return acpi_pptt_get_cpumask_from_cache_id(cache_id, affinity); in mpam_get_cpumask_from_cache_id() 480 static void get_cpumask_from_node_id(u32 node_id, cpumask_t *affinity) in get_cpumask_from_node_id() argument 486 cpumask_set_cpu(cpu, affinity); in get_cpumask_from_node_id() 490 static int mpam_ris_get_affinity(struct mpam_msc *msc, cpumask_t *affinity, in mpam_ris_get_affinity() argument 500 affinity); in mpam_ris_get_affinity() 507 if (cpumask_empty(affinity)) in mpam_ris_get_affinity() 512 get_cpumask_from_node_id(comp->comp_id, affinity); in mpam_ris_get_affinity() 519 cpumask_and(affinity, affinity, &msc->accessibility); in mpam_ris_get_affinity() 567 err = mpam_ris_get_affinity(msc, &ris->affinity, type, class, comp); in mpam_ris_create_locked() [all …]
|
| H A D | mpam_internal.h | 297 cpumask_t affinity; member 331 cpumask_t affinity; member 372 cpumask_t affinity; member 470 cpumask_t *affinity);
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | bench.c | 19 .affinity = false, 266 { "affinity", 'a', NULL, 0, "Set consumer/producer thread affinity"}, 269 { "prod-affinity", ARG_PROD_AFFINITY_SET, "CPUSET", 0, 270 "Set of CPUs for producer threads; implies --affinity"}, 271 { "cons-affinity", ARG_CONS_AFFINITY_SET, "CPUSET", 0, 272 "Set of CPUs for consumer threads; implies --affinity"}, 349 env.affinity = true; in parse_arg() 358 env.affinity = true; in parse_arg() 366 env.affinity in parse_arg() [all...] |
| /linux/drivers/iommu/ |
| H A D | hyperv-iommu.c | 198 const struct cpumask *affinity; in hyperv_root_ir_compose_msi_msg() local 205 affinity = irq_data_get_effective_affinity_mask(irq_data); in hyperv_root_ir_compose_msi_msg() 206 cpu = cpumask_first_and(affinity, cpu_online_mask); in hyperv_root_ir_compose_msi_msg()
|