Linux kernel interrupt flow