All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Avi Kivity <avi@argo.co.il>
Cc: Hans-J?rgen Koch <hjk@linutronix.de>, linux-kernel@vger.kernel.org
Subject: Re: Userspace I/O driver core
Date: Thu, 14 Dec 2006 10:00:08 -0800	[thread overview]
Message-ID: <20061214180008.GA24568@kroah.com> (raw)
In-Reply-To: <45812C17.4090309@argo.co.il>

On Thu, Dec 14, 2006 at 12:48:55PM +0200, Avi Kivity wrote:
> [why trim the cc?]
> 
> Hans-J?rgen Koch wrote:
> >Am Donnerstag, 14. Dezember 2006 10:44 schrieb Avi Kivity:
> >
> >  
> >>I understand one still has to write a kernel driver to shut up the irq.  
> >>How about writing a small bytecode interpreter to make event than 
> >>unnecessary?
> >>
> >>The userspace driver would register a couple of bytecode programs: 
> >>is_interrupt_pending() and disable_interrupt(), which the uio framework 
> >>would call when the interrupt fires.
> >>
> >>The bytecode could reuse net/core/filter.c, with the packet replaced by 
> >>the mmio or ioregion, or use something new.
> >>
> >>    
> >
> >I think this would be overkill. The kernel module you have to write
> >is _really_ very simple. And it has to be written only once, so even
> >a manufacturer who employs no experienced kernel developers can
> >easily outsource that task.
> >
> >  
> 
> It has to be written once, but compiled for every kernel version and 
> $arch out there (for out of tree drivers), or it has to wait for the 
> next kernel release and distro sync (for in-tree drivers).

No, just get the tiny driver into the main kernel tree, like all other
drivers are required to do.

> If we make userspace drivers possible, it makes sense that the entire 
> driver be in userspace, not just 98.7% of it.

If you see a way to do this that is race-free, I know a lot of people
would be glad to see such a patch.

But until then, no, we are not making any such claims of 100% userspace
driver for hardware such as pci devices and other things that this uio
core works with.

thanks,

greg k-h

  parent reply	other threads:[~2006-12-14 18:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-14  1:06 Userspace I/O driver core Greg KH
2006-12-14  5:48 ` Ben Nizette
2006-12-14  9:44 ` Avi Kivity
2006-12-14 10:19   ` Arjan van de Ven
2006-12-14 10:46     ` Avi Kivity
2006-12-14 10:54       ` Arjan van de Ven
2006-12-14 10:56         ` Avi Kivity
2006-12-14 17:54           ` Greg KH
2006-12-16 14:48     ` Dr. David Alan Gilbert
2006-12-14 10:25   ` Hans-Jürgen Koch
2006-12-14 10:48     ` Avi Kivity
2006-12-14 12:39       ` Jan Engelhardt
2006-12-14 13:38         ` Avi Kivity
2006-12-14 17:48           ` Jan Engelhardt
2006-12-14 18:00       ` Greg KH [this message]
2006-12-14 10:52 ` Alan
2006-12-14 11:22   ` Thomas Gleixner
2006-12-14 11:39     ` Alan
2006-12-14 11:37       ` Hans-Jürgen Koch
2006-12-14 12:45         ` Alan
2006-12-14 12:37 ` Jan Engelhardt
2006-12-14 16:10 ` linux-os (Dick Johnson)
2006-12-14 21:55   ` Ben Nizette

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061214180008.GA24568@kroah.com \
    --to=greg@kroah.com \
    --cc=avi@argo.co.il \
    --cc=hjk@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.