Re: select-like implementation for kernel sockets

From: Robert Hancock
Date: Sun May 06 2007 - 13:18:34 EST


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.

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/