Armin Steinhoff
09/21/2012 11:39 AM
post95740
|
Hi Mario,
if you need a true real-time network based on Ethernet ... we will
release in October the support of the fieldbus Varan:
http://www.varan-bus.net/index_en.htm
Cheers
--Armin
http://www.steinhoff-automation.com
Mario Charest wrote:
> Any of the network guru want to take a look at my support caser CaseID0011655. In a nutshell I have demonstrated a
case where UDP packets will get drop be the stack eventhough we have a very high priority thread reading the packets.
The packets are dropped because the stack is apparently busy doing something else.
>
> That seems very conter-intuitive and I would expect io-pkt-v4 NOT to dropped packet for that reason.
>
>
>
> _______________________________________________
>
> Technology
> http://community.qnx.com/sf/go/post95739
> To cancel your subscription to this discussion, please e-mail technology-networking-unsubscribe@community.qnx.com
>
|
|
|
Mario Charest
09/21/2012 12:07 PM
post95742
|
Oups sorry: 00116551.
Thanks
|
|
|
Nick Reilly
09/21/2012 1:47 PM
post95747
|
Hi Mario,
Whilst some areas in io-pkt are multi-threaded, there is a single "stack context" used for some operations within io-
pkt. I believe that the issue you are running in to is that packet reception in to the socket buffer and draining of the
socket buffer out to the application both require the stack context. Also the receiving of packets into socket buffers
is prioritised over the draining of the socket buffers out to the application.
If you do send enough packets in then you can end up with the socket buffer overflowing and the packet dropping. This
will show with "netstat -p udp" showing an incrementing "dropped due to full socket buffers" count.
Unfortunately there isn't a quick fix that I can see for this issue. The prioritisation of reception of packets over
playout to the application is deeply embedded in io-pkt and was chosen to improve the "fastforward" throughput.
If this is just a small overflow then increasing the size of the socket buffer may help. Also try and ensure that the
minimum number of packets are seen by io-pkt e.g. ensure the driver isn't in promiscuous mode and limit the broadcast
traffic that it sees.
|
|
|