Re: select-like implementation for kernel sockets

From: kalash nainwal
Date: Mon May 07 2007 - 02:58:03 EST


On 5/6/07, Robert Hancock <hancockr@xxxxxxx> wrote:
eitanr@xxxxxxxxxxxxxx wrote:
> Hi,
>
> I'm using kernel sockets to Tx and Rx UDP packets between my hardware
> device (DSP) to the external network (this is part of a VoIP
> implementation). The motivation for using kernel sockets rather than
> user-space sockets is to avoid the copying of data between kernel and
> user spaces.

I think we are zero-copy in many cases for UDP these days, so this
doesn't necessarily buy you anything..

>
> I have no problems on the Tx side (I simply call sock_sendmsg on one
> of the sockets), but for the Rx side I want to listen-in on multiple
> sockets in blocking mode (I don't want to use polling).
>
> Is there a way to listen-in on multiple kernel sockets from one kernel
> thread? In the user space I would have used select(), but I am not
> familiar with a similar solution for the kernel space.
>

implementing (sock->)sk_data_ready() might serve your purpose?

> Thanks,
> Eitan.
>
> Eitan Richardson
> AudioCodes Ltd.
>

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
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/

-
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/