Re: User mode drivers: part 1, interrupt handling (patch for 2.6.11)
From: Jon Smirl
Date: Sat Mar 12 2005 - 11:29:25 EST
On Fri, 11 Mar 2005 11:29:20 +0100, Pavel Machek <pavel@xxxxxx> wrote:
> Hi!
>
> > As many of you will be aware, we've been working on infrastructure for
> > user-mode PCI and other drivers. The first step is to be able to
> > handle interrupts from user space. Subsequent patches add
> > infrastructure for setting up DMA for PCI devices.
> >
> > The user-level interrupt code doesn't depend on the other patches, and
> > is probably the most mature of this patchset.
>
> Okay, I like it; it means way easier PCI driver development.
It won't help with PCI driver development. I tried implementing this
for UML. If your driver has any bugs it won't get the interrupts
acknowledged correctly and you'll end up rebooting.
Xen just posted patches for using kgdb between two instances but I
don't see how they get out of the interrupt acknowledge problem
either.
>
> But... how do you handle shared PCI interrupts?
>
> > This patch adds a new file to /proc/irq/<nnn>/ called irq. Suitably
> > privileged processes can open this file. Reading the file returns the
> > number of interrupts (if any) that have occurred since the last read.
> > If the file is opened in blocking mode, reading it blocks until
> > an interrupt occurs. poll(2) and select(2) work as one would expect, to
> > allow interrupts to be one of many events to wait for.
> > (If you didn't like the file, one could have a special system call to
> > return the file descriptor).
>
> This should go into Documentation/ somewhere.
> Pavel
>
> --
> People were complaining that M$ turns users into beta-testers...
> ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
> -
> 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/
>
--
Jon Smirl
jonsmirl@xxxxxxxxx
-
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/