> Imre Paniti wrote: > >> Hi, >> >> >> I'm getting a lot of ENOBUFS while repeatingly sending over 10 bytes of >> data data from a fast rt thread (100 packets per second). I guess this >> makes > > I wouldn't consider 100 Hz as fast. Is this the correct rate? Or is the > receiver overloaded and does some MAC layer overflow signalling?
The rate is correct, and the reciever is probably not overloaded. > >> sense - no available buffers. But how does this work internally, what >> happens with a que on a socket (we're using UDP, might a raw socket be >> better?) when writing to it fast? I know we can increase the buffer >> size, but that would only mean it fills up less fast but still fills up. >> So on >> the practical side of things, what can we do about this -105? >> >> We're using: >> RTAI-3.3-CV >> RTnet 0.9.3 >> > > With or without RTmac? If /wo RTmac: which NIC driver? Switched Ethernet? This is lsmod after a simple start-up routine of RTnet: emc2-2:~# lsmod Module Size Used by tdma 14852 1 rtmac 8976 1 tdma rtcfg 37168 0 rt_loopback 2564 1 rt_8139too 11776 2 rtpacket 4352 0 rtipv4 21536 1 rtcfg rtnet 29292 7 tdma,rtmac,rtcfg,rt_loopback,rt_8139too,rtpacket,rtipv4 rtai_rtdm 16676 6 tdma,rtcfg,rt_8139too,rtpacket,rtipv4,rtnet rtai_sem 15232 4 tdma,rtcfg,rtnet,rtai_rtdm rtai_up 71736 8 tdma,rtcfg,rt_loopback,rt_8139too,rtipv4,rtnet,rtai_rtdm,rtai_sem rtai_hal 29176 6 rtmac,rt_8139too,rtnet,rtai_rtdm,rtai_sem,rtai_up This means RTmac is used (right?). As you can see we're using a realtek 8139 NIC. > > > There are at least two error sources involved when sending out packets: > first the per-socket pool of rtskbs that is charged when the outgoing > frames are to be build. Later the NIC may report an overflow (EAGAIN) of > its own hardware TX queue - unless you are using RTmac as flow control > manager. This is true for both UDP and packet sockets. So I guess this means the error comes from rtskbs, because we're using RTmac? If so, then what does that mean? It might be useful for you to take a look at my code. However, this is for a module for CNC software (Enhanced Machine Controller 2, EMC2) and it uses a custom RT API in combination with the RTnet and RTDM API, which makes it a little harder to read. Apart from that, in the actual functions that are exported as RT tasks, nothing really strange happens - a socket is created during module start-up, the RT tasks only either create packets and send them or recieve packets and disect them. > >> >> Thanks, Evert Lammerts >> > > /me confused: signature doesn't match mail address? Sorry about that. The mailserver of my own address was down so I used the address of a friend. Thanks for the help! Evert > > > Jan > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, > security? Get stuff done quickly with pre-integrated technology to make > your job easier Download IBM WebSphere Application Server v.1.0.1 based on > Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642__ > _____________________________________________ > RTnet-users mailing list > RTnet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rtnet-users > > -- Evert Lammerts Ph: +31 / 6 523 938 09 [EMAIL PROTECTED] [EMAIL PROTECTED] -- SMTP-server Noordelijke Hogeschool Leeuwarden. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ RTnet-users mailing list RTnet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rtnet-users