Re: Possibly SATA related freeze killed networking and RAID

From: Phillip Susi
Date: Fri Nov 30 2007 - 13:46:21 EST


Tejun Heo wrote:
Because SFF ATA controller don't have IRQ pending bit. You don't know
whether IRQ is raised or not. Plus, accessing the status register which
clears pending IRQ can be very slow on PATA machines. It has to go
through the PCI and ATA bus and come back. So, unconditionally trying
to clear IRQ by accessing Status can incur noticeable overhead if the
IRQ is shared with devices which raise a lot of IRQs.

There HAS to be a way to determine if that device generated the interrupt, or the interrupt can not be shared. Since the kernel said nobody cared about the interrupt, that indicates that the sata driver checked the status register and realized the sata chip didn't generate the interrupt, and returned to the kernel letting it know that the interrupt was not for it.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/