| /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/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() 150 struct perf_cpu cpu __maybe_unused, int affinity __maybe_unused) in perf_mmap__aio_mmap() 184 ret = perf_mmap__aio_bind(map, i, map->core.cpu, mp->affinity); in perf_mmap__aio_mmap() 279 if (mp->affinity == PERF_AFFINITY_NODE && cpu__max_node() > 1) in mmap__mmap() 281 else if (mp->affinity == PERF_AFFINITY_CPU) in mmap__mmap() 295 if (mp->affinity != PERF_AFFINITY_SYS && in mmap__mmap() 297 pr_debug2("failed to alloc mmap affinity mask, error %d\n", in mmap__mmap()
|
| H A D | evlist.h | 20 #include "affinity.h" 424 int affinity, int flush, int comp_level); 588 /** If present, used to set the affinity when switching between CPUs. */ 589 struct affinity *affinity; 590 /** Maybe be used to hold affinity state prior to iterating. */ 591 struct affinity saved_affinity; 595 * evlist__for_each_cpu - without affinity, iterate over the evlist. With 596 * affinity, iterate over all CPUs and then the evlist 598 * CPUs the affinity i 367 struct affinity *affinity; global() member [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/irq/ |
| H A D | manage.c | 294 cpumask_copy(desc->irq_common_data.affinity, mask); in irq_do_set_affinity() 356 cpumask_copy(desc->irq_common_data.affinity, mask); in irq_set_affinity_deactivated() 420 int irq_update_affinity_desc(unsigned int irq, struct irq_affinity_desc *affinity) in irq_update_affinity_desc() argument 448 if (affinity->is_managed) { in irq_update_affinity_desc() 453 cpumask_copy(desc->irq_common_data.affinity, &affinity->mask); in irq_update_affinity_desc() 533 cpumask_copy(cpumask, desc->irq_common_data.affinity); in irq_affinity_notify() 612 if (cpumask_intersects(desc->irq_common_data.affinity, in irq_setup_affinity() 614 set = desc->irq_common_data.affinity; in irq_setup_affinity() 1447 if (cpumask_intersects(old->affinity, new->affinity) || in valid_percpu_irqaction() 2431 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()
|
| /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/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).
|
| H A D | index.rst | 20 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/arch/alpha/kernel/ |
| 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/tools/perf/ |
| H A D | builtin-record.c | 102 struct mmap_cpu_mask affinity; 1281 if (opts->affinity != PERF_AFFINITY_SYS) 1287 opts->nr_cblocks, opts->affinity, in record__mmap_evlist() 1568 if (rec->opts.affinity != PERF_AFFINITY_SYS && 1569 !bitmap_equal(thread->mask->affinity.bits, map->affinity_mask.bits, 1570 thread->mask->affinity.nbits)) { 1571 bitmap_zero(thread->mask->affinity.bits, thread->mask->affinity.nbits); 1572 bitmap_or(thread->mask->affinity.bits, thread->mask->affinity 100 struct mmap_cpu_mask affinity; global() member [all...] |
| /linux/drivers/resctrl/ |
| H A D | mpam_devices.c | 489 cpumask_t *affinity) in mpam_get_cpumask_from_cache_id() argument 491 return acpi_pptt_get_cpumask_from_cache_id(cache_id, affinity); in mpam_get_cpumask_from_cache_id() 498 static void get_cpumask_from_node_id(u32 node_id, cpumask_t *affinity) in get_cpumask_from_node_id() argument 504 cpumask_set_cpu(cpu, affinity); in get_cpumask_from_node_id() 508 static int mpam_ris_get_affinity(struct mpam_msc *msc, cpumask_t *affinity, in mpam_ris_get_affinity() argument 518 affinity); in mpam_ris_get_affinity() 525 if (cpumask_empty(affinity)) in mpam_ris_get_affinity() 530 get_cpumask_from_node_id(comp->comp_id, affinity); in mpam_ris_get_affinity() 537 cpumask_and(affinity, affinity, &msc->accessibility); in mpam_ris_get_affinity() 585 err = mpam_ris_get_affinity(msc, &ris->affinity, type, class, comp); in mpam_ris_create_locked() [all …]
|
| /linux/Documentation/core-api/ |
| H A D | workqueue.rst | 379 An unbound workqueue groups CPUs according to its affinity scope to improve 380 cache locality. For example, if a workqueue is using the default affinity 387 Workqueue currently supports the following affinity scopes. 411 This is the default affinity scope. 420 The default affinity scope can be changed with the module parameter 421 ``workqueue.default_affinity_scope`` and a specific workqueue's affinity 424 If ``WQ_SYSFS`` is set, the workqueue will have the following affinity scope 429 Read to see the current affinity scope. Write to change. 435 0 by default indicating that affinity scopes are not strict. When a work 437 that the worker is inside its affinity scope, which is called [all …]
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | bench.c | 19 .affinity = false, 353 env.affinity = true; in parse_arg() 362 env.affinity = true; in parse_arg() 370 env.affinity = true; in parse_arg() 725 if (env.affinity) in setup_benchmark() 748 if (env.affinity) in setup_benchmark()
|
| /linux/include/linux/ |
| H A D | irqdomain.h | 59 const struct cpumask *affinity; member 375 const struct irq_affinity_desc *affinity); 482 const struct irq_affinity_desc *affinity); 610 const struct irq_affinity_desc *affinity);
|
| /linux/arch/powerpc/platforms/cell/spufs/ |
| H A D | inode.c | 383 int affinity; in spufs_create_context() local 406 affinity = flags & (SPU_CREATE_AFFINITY_MEM | SPU_CREATE_AFFINITY_SPU); in spufs_create_context() 407 if (affinity) { in spufs_create_context() 425 if (affinity) { in spufs_create_context() 437 if (affinity) in spufs_create_context()
|
| /linux/arch/arm/boot/dts/rockchip/ |
| H A D | rv1109.dtsi | 21 interrupt-affinity = <&cpu0>, <&cpu1>;
|
| /linux/arch/arm64/boot/dts/broadcom/bcmbca/ |
| H A D | bcm4906.dtsi | 24 interrupt-affinity = <&cpu0>, <&cpu1>;
|
| /linux/arch/arm/kernel/ |
| H A D | setup.c | 626 u32 i, affinity; in smp_build_mpidr_hash() local 640 affinity = MPIDR_AFFINITY_LEVEL(mask, i); in smp_build_mpidr_hash() 646 ls = fls(affinity); in smp_build_mpidr_hash() 647 fs[i] = affinity ? ffs(affinity) - 1 : 0; in smp_build_mpidr_hash()
|