"The top half executes with interrupts disabled, so it is imperative that it do as little as possible to keep the system responsive."
I somehow am confused about this line. Isn't this true only for the interrupts registered with IRQF_DISABLED/SA_INTERRUPT? Any interrupt registered using IRQF_SHARED/SA_SHIRQ can be interrupted by other interrupts.