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

Jon Smirl
2005-03-15T03:20:10Z

On Mon, 14 Mar 2005 12:42:27 +1100, Peter Chubb
<peterc@gelato.unsw.edu.au> wrote:
> >>>>> "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.

Please put some big comments warning people about adding SA_SHARED. I
can easily see someone thinking that they are fixing a bug by adding
it. I'd probably even write a paragraph about what will happen if
SA_SHARED is added.

>
> 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*
>

--
Jon Smirl
jonsmirl@gmail.com