linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Armin Steinhoff <armin@steinhoff.de>
To: "M. Koehrer" <mathias_koehrer@arcor.de>
Cc: rt-users <linux-rt-users@vger.kernel.org>
Subject: Re: Looking for a real time IPC to be used with select
Date: Sat, 17 Apr 2010 09:55:01 +0200	[thread overview]
Message-ID: <4BC96955.2080003@steinhoff.de> (raw)
In-Reply-To: <3215024.1271427173625.JavaMail.ngmail@webmail08.arcor-online.net>


Hi,

have a look to http://www.zeromq.org ... it does probably  what you want.

Armin Steinhoff
---
Armin Steinhoff   <as@Steinhoff-Automation.com>  
STEINHOFF Automation &  Fieldbus-Systems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TEL +49-6431 -529366  or  -570 99 70
FAX +49-6431 - 57454  or  -570 99 80
http://www.steinhoff-automation.com

 

M. Koehrer wrote:
> Hi all,
>
> I have a real time application with a couple of threads.
> One thread is waiting on a select() call (with timeout)
> for data coming in from a UDP Ethernet socket.
> Once it gets data it does some computation and finally 
> leads to the writing of data on the UDP socket.
>
> The (simplified) code for this real time thread is:
>
> void *thread_func_A(void *arg)
> {
>   while (1)
>   {
>      rc = select(...); // Read socket with timeout_value);
>      if (rc > 0)
>      {
>         recv(.., data, .. ); // recv data from socket
>         compute(data, data2);       // Compute data and modify them to data2
>         send(..., data2, ...); // Send data2 to socket
>      }
>    }
> }
>
> This works fine.
>
> Now I have the need that another real time thread B should also be able
> to trigger the "select()" in the thread_func_A() above.
> This means, I should add a suitable inter-process-communication
> between thread A and B that can be used with select() as well.
> Having this, the thread A can be triggered by the socket or
> by the IPC from thread B by adding two file desciptors to the readfds
> of select().
>
> My question is now: What kind of IPC is preferred here?
> The only IPC I see is a local socket communication, however
> this looks like a huge overhead for triggering...
>
> Both, threads A and B are real time threads, thus any IPC in use
> should be supported by the RT_PREEMPT patch.
>
> Setup: PC (Core2Quad, kernel 2.6.31.2-rt13)
>
> Thanks for any feedback on this question.
>
> Regards
>
> Mathias
>
>
>
>   


  parent reply	other threads:[~2010-04-17  8:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-16 14:12 Looking for a real time IPC to be used with select M. Koehrer
2010-04-16 20:30 ` Leyendecker, Robert
2010-04-17  7:55 ` Armin Steinhoff [this message]
2010-04-17 14:42 ` Pradyumna Sampath
2010-04-18  4:43 ` Sujit K M
2010-04-19  6:24 ` M. Koehrer
2010-04-19  6:31 ` M. Koehrer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BC96955.2080003@steinhoff.de \
    --to=armin@steinhoff.de \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=mathias_koehrer@arcor.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).