Clearing the interrupt

Mohan Kumar M mohan at in.ibm.com
Wed Mar 7 04:39:41 EST 2007


Hi,

I would like to get some suggestions to implement the interrupt clearing
methods in kdump kernel.

After a panic situation, first kernel goes through each irq_desc
structure and if any interrupt is in progress, it calls eoi handler for
that interrupt. eoi handler is called from the crashing cpu context.

	for_each_irq(irq) {
		struct irq_desc *desc = irq_desc + irq;

		if (desc->status & IRQ_INPROGRESS)
			desc->chip->eoi(irq);

		if (!(desc->status & IRQ_DISABLED))
			desc->chip->disable(irq);
	}


But initially some another cpu might have acknowledged the interrupt and
started processing the interrupt. But eoi handler may not be called by
the cpu which acknowledged the interrupt.

Is there any problem with the above approach? Is there any restriction
such that a cpu which acknowledged the interrupt only should send the eoi
signal?

Regards,
Mohan.



More information about the Linuxppc-dev mailing list