Re: User mode drivers: part 1, interrupt handling (patch for 2.6.11)

Peter Chubb
2005-03-14T01:41:58Z

>>>>> "Jon" == Jon Smirl <jonsmirl@gmail.com> writes:

>> The scenario I'm thinking about with these patches are things like
>> low-latency user-level networking between nodes in a cluster, where
>> for good performance even with a kernel driver you don't want to
>> share your interrupt line with anything else.

Jon> The code needs to refuse to install if the IRQ line is shared.

It does. The request_irq() call explicitly does not include SA_SHARED
in its flags, so if the line is shared, it'll return an error to user
space when the driver tries to open the file representing the interrupt.

Jon> Also what about SMP, if you shut the IRQ off on one CPU isn't it
Jon> still enabled on all of the others?

Nope. disable_irq_nosync() talks to the interrupt controller, which
is common to all the processors. The main problem is that it's slow,
because it has to go off-chip.

--
Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au
The technical we do immediately, the political takes *forever*