Plenty of reasons. One can block the interrupt to a certain driver which
may require that for weird hardware reasons while reenabling and allowing
other interrupts to be fielded and served.
That's how the VAX and Motorola 680x0 worked and AT&T Ver. III and IV had
the splx() macros to block individual interrupts. I worked on this stuff
in the 1980's and it was extremely convenient.
Modern HW may not require it as much, but always blocking all interrupts
with cli() isn't optimal, although it does force one to come up with
creative solutions/workarounds :)
But it's been a while since I looked at interrupt handling in Linux and
maybe that has changed.
--
Gary Jennejohn
_______________________________________________
Kernel-mentors mailing list
Kernel-mentors@selenic.comhttp://selenic.com/mailman/listinfo/kernel-mentors