Re: [Q]: Linux and real device drivers

Steve Underwood (steveu@infowebtelecom.com)
Wed, 22 Sep 1999 03:07:28 +0000


Bret Indrelee wrote:

> Instead you should:
>
> irq
> poll device (assuming PCI or similiar)
> if your device,
> disable device irq (clears the IRQ) and
> post to semaphore for deferred processing
> end of irq
>
> <-- Things pass -->
> schedule processing that was waiting on semaphore
>
> copy data
> enable device interrupt
> run stuff
>
> go back to waiting for next IRQ, which may have already happened.

Sounds like you could make a real improvement to efficiency and cache hits
here. Just turn off the interrupts, and let the scheduler directly poll the
hardware instead of some pointless semaphore.

Come on. The interrupts are there for a purpose. You just made them a valueless
overhead.

Steve

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