* Re: select-like implementation for kernel sockets [not found] <1178449075.942407.164040@q75g2000hsh.googlegroups.com> @ 2007-05-06 17:18 ` Robert Hancock 2007-05-07 6:57 ` kalash nainwal 0 siblings, 1 reply; 3+ messages in thread From: Robert Hancock @ 2007-05-06 17:18 UTC (permalink / raw) To: eitanr, linux-kernel eitanr@audiocodes.com 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@nospamshaw.ca Home Page: http://www.roberthancock.com/ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: select-like implementation for kernel sockets 2007-05-06 17:18 ` select-like implementation for kernel sockets Robert Hancock @ 2007-05-07 6:57 ` kalash nainwal 2007-05-07 8:04 ` Eitan Richardson 0 siblings, 1 reply; 3+ messages in thread From: kalash nainwal @ 2007-05-07 6:57 UTC (permalink / raw) To: Robert Hancock; +Cc: eitanr, linux-kernel On 5/6/07, Robert Hancock <hancockr@shaw.ca> wrote: > eitanr@audiocodes.com 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@nospamshaw.ca > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: select-like implementation for kernel sockets 2007-05-07 6:57 ` kalash nainwal @ 2007-05-07 8:04 ` Eitan Richardson 0 siblings, 0 replies; 3+ messages in thread From: Eitan Richardson @ 2007-05-07 8:04 UTC (permalink / raw) To: kalash nainwal, Robert Hancock; +Cc: linux-kernel Hi, Thanks for the tip. I understand sk_data_ready is a callback that is called when there is data ready in the socket. Is it safe to override it? Do you have an example? Thanks, Eitan. -----Original Message----- From: kalash nainwal [mailto:kalash.nainwal@gmail.com] Sent: Monday, May 07, 2007 9:57 AM To: Robert Hancock Cc: Eitan Richardson; linux-kernel Subject: Re: select-like implementation for kernel sockets Importance: Low On 5/6/07, Robert Hancock <hancockr@shaw.ca> wrote: > eitanr@audiocodes.com 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@nospamshaw.ca > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-05-07 8:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1178449075.942407.164040@q75g2000hsh.googlegroups.com>
2007-05-06 17:18 ` select-like implementation for kernel sockets Robert Hancock
2007-05-07 6:57 ` kalash nainwal
2007-05-07 8:04 ` Eitan Richardson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox