"Streaming" data from kernel to userland

John-Mark Gurney gurney_j at resnet.uoregon.edu
Fri Jan 19 06:15:15 UTC 2007


Kevin Sanders wrote this message on Thu, Jan 18, 2007 at 17:40 -0800:
> On 1/18/07, Daniel O'Connor <doconnor at gsoft.com.au> wrote:
> >
> >On Friday 19 January 2007 08:52, Ivan Voras wrote:
> >> I'm thinking of doing something which would require streaming large
> >> amounts of pretty much real-time data from kernel to a userland
> >> application (for further processing). The first thing that comes to my
> >> mind while thinking of this is sockets, so is there a sockets-like
> >> interface which could be used to transfer large amounts of constantly
> >> generated data from kernel to a userland application? Any advice on its
> >> usage and/or examples?
> >
> >What's wrong with read()?
> 
> 
> Ivan, I'm basically doing something similar, and I have found that adding
> kqueue support to your kernel module and making ioctl/read/write's is very
> efficient.  I'm a long time windows developer that has used I/O Completion
> Ports, and I'm real impressed with kqueue api.  It was a little daunting
> figuring out the kernel module side though.

If you feeling like extending kqueue(9) to be more helpful, I'm more
than willing to review and commit patches for it.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-hackers mailing list