-
Philippe Gerum authored
Some irqchips require IRQ affinity to be set from the context of the migrated interrupt, such as Intel's IO*APIC hardware (see CONFIG_GENERIC_PENDING_IRQ). Since the code actually changing the affinity may be available to the in-band stage exclusively, we have to defer its execution until events are synchronized for that stage before returning from the interrupt frame. Since we might have received the original event in a context from which the in-band interrupt log will not be synchronized on top of handle_irq_pipelined_finish(), we need a way to tag IRQ descriptors on entry to the pipeline so that the flow handler won't schedule any deferred affinity update for the event. Those contexts are: - if the in-band stage is stalled - if running on the out-of-band stage IRQD_SETAFFINITY_BLOCKED is such a marker, telling the architecture-specific pipeline code not to schedule any affinity update when set. Signed-off-by: Philippe Gerum <rpm@xenomai.org>
3488ef20