Ok thank you,
"Either fix your application or the TDMA network configuration." -- If
I am not wrong, by this did u mean to say that I need to put the
nanosleep() equivalent to TDMA_CYCLE time in my application or else i
need to change (reduce) the value of TDMA_CYCLE in rtnet.conf file
right?

Going back to background actually I am trying to compare the ethernet
performance of Xenomai+RTnet and RT-Preempt. So can you please advice
me some test suits avalable to do the same. More over today I was
looking at "netpref", may you please tell me does netpref works in
Xenomai+RTnet?

Thanks and regards
Saiful


On 5/3/07, Jan Kiszka <[EMAIL PROTECTED]> wrote:
> Saiful Khan wrote:
> > Hello,
> >
> > I observed some thing really surprised me-
> > if i put a 10000 microsecond sleep between consecutive sendto() then
> > it sends any no of packets packets continuously.
> >
> > while (test_time <=180000.0) //Test duration, In  millisecond
> > {
> >     bzero (buffer, 50);
> >     strcpy(buffer, "hello server - xenomai");
> >     n = sendto (sockfd, buffer, 50, 0, (struct sockaddr *) &serv_addr,
> > (socklen_t) sizeof (serv_addr));
> >     usleep (10000);
> >     if ( n < 0 )
> >     {
> >         perror ("ERROR, Sending Failed....\n");
> >         exit (0);
> >     }
> > }//end of while
> >
> > --but if i dont give the usleep(), it sends only 16 packets. More over
> > if I use usleep(1000), then also after sending some messages the
> > program exits giving "ERROR, Sending Failed.... No buffer space
> > available".
>
> OK, a few things to note:
>
>  - sendto is non-blocking, i.e. it tries to send immediately, queues
>   messages that cannot be sent right now (TDMA...), fails if something
>   goes wrong before enqueuing (routing, no more buffers, ...).
>
>  - You are running RTmac/TDMA, likely with the default setup: 1 message
>   slot per node each 5 ms.
>
>  - You try to send messages at a higher rate, consuming your personal
>   (per socket) transmission buffers faster than they can be released
>   again (after the actual transmission). Thus, your system setup is
>   broken. Either fix your application or the TDMA network
>   configuration.
>
>  - usleep is, according to POSIX spec, obsolescent. More problematic: it
>   is not supported by Xenomai's POSIX skin, thus you are continuously
>   leaving the RT context to sleep for an indeterministic period. Use
>   [clock_]nanosleep instead. (That's just a footnote here, not the
>   reason for the error message.)
>
> HTH,
> Jan
>
>
>

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to