| /kernel/linux/linux-6.6/kernel/irq/ |
| D | ipi-mux.c | 3 * Multiplex several virtual IPIs over a single HW IPI. 118 * ipi_mux_process - Process multiplexed virtual IPIs 124 unsigned long ipis; in ipi_mux_process() local 135 * Clear the IPIs we are about to handle. This pairs with the in ipi_mux_process() 138 ipis = atomic_fetch_andnot(en, &icpu->bits) & en; in ipi_mux_process() 140 for_each_set_bit(hwirq, &ipis, BITS_PER_TYPE(int)) in ipi_mux_process() 145 * ipi_mux_create - Create virtual IPIs multiplexed on top of a single 147 * @nr_ipi: number of virtual IPIs to create. This should 151 * Returns first virq of the newly created virtual IPIs upon success
|
| D | ipi.c | 110 * The IPIs allocated with irq_reserve_ipi() are returned to the system 159 * the hwirq it needs to use to receive and send IPIs. 234 * Minimise the overhead by omitting the checks for Linux SMP IPIs. in __ipi_send_single() 277 * Minimise the overhead by omitting the checks for Linux SMP IPIs. in __ipi_send_mask()
|
| /kernel/linux/linux-6.6/arch/riscv/kernel/ |
| D | sbi-ipi.c | 3 * Multiplex several IPIs over a single HW IPI. 59 pr_err("unable to create muxed IPIs\n"); in sbi_ipi_init() 68 * the masking/unmasking of virtual IPIs is done in sbi_ipi_init() 76 pr_info("providing IPIs using SBI IPI extension\n"); in sbi_ipi_init()
|
| /kernel/linux/linux-5.10/kernel/rcu/ |
| D | Kconfig | 93 execution as quiescent states. It forces IPIs and context 103 hotplug code paths. It can force IPIs on online CPUs, including 245 Use this option to further reduce the number of IPIs sent 249 eliminates such IPIs for many workloads, proper setting 254 Say Y here if you hate IPIs.
|
| /kernel/linux/linux-6.6/tools/testing/selftests/kvm/x86_64/ |
| D | xapic_ipi_test.c | 13 * The test starts two vCPUs: one that sends IPIs and one that continually 20 * exit with error. Test is still usefull on non-numa for testing IPIs. 140 * Init interrupt command register for sending IPIs in sender_guest_code() 215 "Sending vCPU sent %lu IPIs to halting vCPU\n" in vcpu_thread() 216 "Halting vCPU halted %lu times, woke %lu times, received %lu IPIs.\n" in vcpu_thread() 339 "IPIs sent=%lu received=%lu, HLTs=%lu wakes=%lu\n", in do_migrations() 474 "Sending vCPU sent %lu IPIs to halting vCPU\n" in main() 475 "Halting vCPU halted %lu times, woke %lu times, received %lu IPIs.\n" in main()
|
| /kernel/linux/linux-5.10/arch/mips/include/asm/ |
| D | smp.h | 111 * This function will set up the necessary IPIs for Linux to communicate 118 * This function will free up IPIs allocated with mips_smp_ipi_allocate to the 119 * CPUs in mask, which must be a subset of the IPIs that have been configured.
|
| /kernel/linux/linux-6.6/arch/mips/include/asm/ |
| D | smp.h | 113 * This function will set up the necessary IPIs for Linux to communicate 120 * This function will free up IPIs allocated with mips_smp_ipi_allocate to the 121 * CPUs in mask, which must be a subset of the IPIs that have been configured.
|
| /kernel/linux/linux-6.6/kernel/rcu/ |
| D | Kconfig | 101 user-mode execution as quiescent states. It forces IPIs and 119 CPU hotplug code paths. It can force IPIs on online CPUs, 296 Use this option to further reduce the number of IPIs sent 300 eliminates such IPIs for many workloads, proper setting 305 Say Y here if you hate IPIs.
|
| /kernel/linux/linux-5.10/tools/perf/util/ |
| D | affinity.c | 2 /* Manage affinity to optimize IPIs inside the kernel perf API. */ 59 * In this case the IPIs inside the kernel's perf API still work. in affinity__set()
|
| /kernel/linux/linux-5.10/Documentation/virt/kvm/ |
| D | hypercalls.rst | 145 :Purpose: Send IPIs to multiple vCPUs. 152 The hypercall lets a guest send multicast IPIs, with at most 128 159 Returns the number of CPUs to which the IPIs were delivered successfully.
|
| D | vcpu-requests.rst | 68 as well as to avoid sending unnecessary IPIs (see "IPI Reduction"), and 159 proceeding. This flag only applies to VCPUs that would receive IPIs. 193 IPIs will only trigger guest mode exits for VCPU threads that are in guest 242 Some requests, those with the KVM_REQUEST_WAIT flag set, require IPIs to
|
| /kernel/linux/linux-6.6/tools/perf/util/ |
| D | affinity.c | 2 /* Manage affinity to optimize IPIs inside the kernel perf API. */ 65 * In this case the IPIs inside the kernel's perf API still work. in affinity__set()
|
| /kernel/linux/linux-5.10/arch/powerpc/sysdev/xics/ |
| D | xics-common.c | 133 * IPIs are marked IRQF_PERCPU. The handler was set in map. in xics_request_ipi() 141 /* Register all the IPIs */ in xics_smp_probe() 212 /* We need to get IPIs still. */ in xics_migrate_irqs_away() 256 * Allow IPIs again. This is done at the very end, after migrating all in xics_migrate_irqs_away() 344 /* Don't call into ICS for IPIs */ in xics_host_map()
|
| /kernel/linux/linux-5.10/kernel/irq/ |
| D | ipi.c | 110 * The IPIs allocated with irq_reserve_ipi() are retuerned to the system 158 * the hwirq it needs to use to receive and send IPIs. 228 * Minimise the overhead by omitting the checks for Linux SMP IPIs. in __ipi_send_single() 271 * Minimise the overhead by omitting the checks for Linux SMP IPIs. in __ipi_send_mask()
|
| /kernel/linux/linux-6.6/arch/powerpc/sysdev/xics/ |
| D | xics-common.c | 132 * IPIs are marked IRQF_PERCPU. The handler was set in map. in xics_request_ipi() 140 /* Register all the IPIs */ in xics_smp_probe() 215 /* We need to get IPIs still. */ in xics_migrate_irqs_away() 256 * Allow IPIs again. This is done at the very end, after migrating all in xics_migrate_irqs_away() 338 /* Don't call into ICS for IPIs */ in xics_host_map()
|
| /kernel/linux/linux-6.6/Documentation/virt/kvm/x86/ |
| D | hypercalls.rst | 145 :Purpose: Send IPIs to multiple vCPUs. 152 The hypercall lets a guest send multicast IPIs, with at most 128 159 Returns the number of CPUs to which the IPIs were delivered successfully.
|
| /kernel/linux/linux-6.6/drivers/irqchip/ |
| D | irq-apple-aic.c | 19 * - 2 per-CPU IPIs (meant as "self" and "other", but they are 27 * IRQ vector. These are used for Fast IPIs, the ARMv8 timer IRQs, and 33 * and one for IPIs. 34 * - Since Linux needs more than 2 IPIs, we implement a software IRQ controller 35 * and funnel all IPIs into one per-CPU IPI (the second "self" IPI is unused). 526 * - Fast IPIs (not yet used) in aic_handle_fiq() 851 * Always keep IPIs unmasked at the hardware level (except auto-masking in aic_init_cpu() 853 * These registers only exist on AICv1, AICv2 always uses fast IPIs. in aic_init_cpu() 1043 pr_info("Using Fast IPIs"); in aic_of_ic_init()
|
| /kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
| D | mpic.h | 351 * registers. Primary controllers have IPIs and affinity control. 457 * 10 for IPIs. You can call this on both IPIs and IRQ numbers, but the 474 /* Request IPIs on primary mpic */
|
| /kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
| D | mpic.h | 351 * registers. Primary controllers have IPIs and affinity control. 457 * 10 for IPIs. You can call this on both IPIs and IRQ numbers, but the 474 /* Request IPIs on primary mpic */
|
| /kernel/linux/linux-6.6/tools/perf/arch/x86/tests/ |
| D | intel-cqm.c | 35 * Since reading Intel CQM event counters requires sending SMP IPIs, the 38 * smp_call_function_many() caused by sending IPIs from NMI context.
|
| /kernel/linux/linux-5.10/tools/perf/arch/x86/tests/ |
| D | intel-cqm.c | 35 * Since reading Intel CQM event counters requires sending SMP IPIs, the 38 * smp_call_function_many() caused by sending IPIs from NMI context.
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/interrupt-controller/ |
| D | mti,gic.yaml | 16 interrupts which can be used as IPIs. The GIC also includes a free-running 55 Specifies the range of GIC interrupts that are reserved for IPIs.
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/interrupt-controller/ |
| D | mti,gic.yaml | 16 interrupts which can be used as IPIs. The GIC also includes a free-running 55 Specifies the range of GIC interrupts that are reserved for IPIs.
|
| /kernel/linux/linux-5.10/arch/loongarch/kernel/ |
| D | machine_kexec.c | 111 * We know we were online, and there will be no incoming IPIs at in kexec_reboot() 149 /* We won't be sent IPIs any more. */ in kexec_shutdown_secondary() 179 /* We won't be sent IPIs any more. */ in crash_shutdown_secondary()
|
| /kernel/linux/linux-6.6/arch/loongarch/kernel/ |
| D | machine_kexec.c | 110 * We know we were online, and there will be no incoming IPIs at in kexec_reboot() 148 /* We won't be sent IPIs any more. */ in kexec_shutdown_secondary() 178 /* We won't be sent IPIs any more. */ in crash_shutdown_secondary()
|