Re: User mode drivers: part 1, interrupt handling (patch for 2.6.11)
From: Jon Smirl
Date: Mon Mar 14 2005 - 22:22:14 EST
On Mon, 14 Mar 2005 12:42:27 +1100, Peter Chubb
> >>>>> "Jon" == Jon Smirl <jonsmirl@xxxxxxxxx> 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*
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/