Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jan 2007 17:40:37 -0800
From:      "Kevin Sanders" <newroswell@gmail.com>
To:        "Ivan Voras" <ivoras@fer.hr>, "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: "Streaming" data from kernel to userland
Message-ID:  <375baf50701181740y6434e763q9c5487fef81dfa87@mail.gmail.com>
In-Reply-To: <200701191148.14198.doconnor@gsoft.com.au>
References:  <eoorug$349$1@sea.gmane.org> <200701191148.14198.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Kevin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?375baf50701181740y6434e763q9c5487fef81dfa87>