summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorAnup Patel <apatel@ventanamicro.com>2025-02-17 14:26:56 +0530
committerThomas Gleixner <tglx@linutronix.de>2025-02-20 15:19:27 +0100
commit896f8e436f9951fa9ef68dab0a3d399ec3a6e1d7 (patch)
tree6a5578f9b8de89eeb34cda34d6d8ae5c6ef1ce56 /tools/perf/scripts/python/stackcollapse.py
parent0bd55080ba9e3c16719f75006fd85b932c85f2f4 (diff)
irqchip/riscv-imsic: Special handling for non-atomic device MSI update
Devices, which have a non-atomic MSI update, might see an intermediate state when changing the target IMSIC vector from one CPU to another. To avoid losing interrupts due to this intermediate state, do the following just like x86 APIC: 1) First write a temporary IMSIC vector to the device which has the same MSI address as the old IMSIC vector and MSI data pointing to the new IMSIC vector. 2) Next write the new IMSIC vector to the device. Based on the above, the __imsic_local_sync() must check pending status of both old MSI data and new MSI data on the old CPU. In addition, the movement of IMSIC vector for non-atomic device MSI update must be done in interrupt context using IRQCHIP_MOVE_DEFERRED. Implememnt the logic and enforce the chip flag for PCI/MSI[X]. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250217085657.789309-11-apatel@ventanamicro.com
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions