Date: Thu, 18 Jan 2007 21:57:36 -0800 From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: Kevin Sanders <newroswell@gmail.com> Cc: Ivan Voras <ivoras@fer.hr>, freebsd-hackers@freebsd.org Subject: Re: "Streaming" data from kernel to userland Message-ID: <20070119055736.GC92003@funkthat.com> In-Reply-To: <375baf50701181740y6434e763q9c5487fef81dfa87@mail.gmail.com> References: <eoorug$349$1@sea.gmane.org> <200701191148.14198.doconnor@gsoft.com.au> <375baf50701181740y6434e763q9c5487fef81dfa87@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Sanders wrote this message on Thu, Jan 18, 2007 at 17:40 -0800: > On 1/18/07, Daniel O'Connor <doconnor@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."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070119055736.GC92003>