<br><font size=2 face="Courier New">Hello,</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; Thanks very much for
the info! I think I know the mistake I've been making.. </font>
<br>
<br><font size=2 face="Courier New">Sketch:</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; init_module():</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; Starts RT tasks </font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; 1. Timer </font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; 2. Idle</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; Also does socket creation and binding</font>
<br>
<br><font size=2 face="Courier New">&nbsp; &nbsp; RT task Timer: Data acquisition</font>
<br>
<br><font size=2 face="Courier New">&nbsp; &nbsp; RT task Idle: Sends it
out to the network</font>
<br>
<br><font size=2 face="Courier New">&nbsp; &nbsp; cleanup_module():</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;Cleans up and Deletes the tasks.</font>
<br>
<br><font size=2 face="Courier New">It is for the Idle task that I needed
sockets. I made the mistake of using the wrappers you'd sent, directly
in the RT task. I will need a kernel thread that will do the job, and I
need to share data between the Idle task and the kthread.</font>
<br>
<br><font size=2 face="Courier New">Will try everything and let you know.</font>
<br>
<br><font size=2 face="Courier New">Thanks a lot for your patience.</font>
<br>
<br><font size=2 face="Courier New">Best Regards</font>
<br><font size=2 face="Courier New">Deepa.</font><font size=2 face="Arial"><br>
</font><font size=3><br>
<br>
<br>
<b><br>
 </b>&nbsp; &nbsp; &nbsp;</font>
<br>
<br>
<br>
<br>
<br><font size=2><tt>deepa.vijayaraghavan@mbtech-group.com wrote:<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; Hello Paolo,<br>
&gt; &nbsp; &nbsp;Thanks a lot for your reply. LXRT is not supported for
power PCs, and I<br>
&gt; use an IBM 440 GP power PC based board.<br>
&gt; I just need a socket interface to send out data to the outside network,
in<br>
&gt; my RT task of lesser priority. The higher priority task does some
kind of<br>
&gt; data acquisition. I do not really need the features of RTNET, as my<br>
&gt; realtime requirements are not very stringent in terms of data<br>
&gt; routing(sending it out to the outside world, I mean).<br>
&gt; &nbsp; &nbsp;The call to set_fs(KERNEL_DS) is the one that fails,
when called from<br>
&gt; the RT task. I do not understand why. Do you have any example code,
that<br>
&gt; uses the netrpc.h(that you'd sent) to make socket calls from RT tasks?<br>
&gt; <br>
<br>
I told you already&quot; you cannot do that from and RTAI proper tasks.
You <br>
have just to use a standard Linux kernel thread and call the socket <br>
functions I passed you from there. No problem in sharing data in kernel
<br>
space with any real time activity. If you need some synchronisation then
<br>
you can use RTAI srqs, e.g. your kthread sleeps (down) on a kernel <br>
semaphore and when data are available a request is pended <br>
(rt_pend_linus_srq) and the srq handler signals (up) the kernel threads.<br>
Furthermode you could use hard disabling/enabling of interrupts in both
<br>
for short atomic guarranty. Another approach is the use/adapt the <br>
support provided in rtai_scb.h for nolocks circular buffers. I'll stop
<br>
here as I think i gave you many choices already, more will likely be <br>
confusing.<br>
<br>
Can you sketch more precisely what you want to do? Just a sketch please!<br>
<br>
Paolo.<br>
<br>
<br>
_______________________________________________<br>
RTAI mailing list<br>
RTAI@rtai.org<br>
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai<br>
</tt></font>
<br>