hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/arch/x86/include/asm/irq_stack.h
....@@ -18,6 +18,13 @@
1818 void asm_call_irq_on_stack(void *sp, void (*func)(struct irq_desc *desc),
1919 struct irq_desc *desc);
2020
21
+/*
22
+ * IRQ pipeline: only in-band (soft-)irq handlers have to run on the
23
+ * irqstack, oob irq handlers must be lean by design therefore can run
24
+ * directly over the preempted context. Therefore, the guarantee that
25
+ * the in-band stage is currently stalled on the current CPU is enough
26
+ * to update irq_count atomically.
27
+ */
2128 static __always_inline void __run_on_irqstack(void (*func)(void))
2229 {
2330 void *tos = __this_cpu_read(hardirq_stack_ptr);