intermittent transmit problem #65

Closed
opened 2020-08-25 11:46:12 +08:00 by pca006132 · 8 comments

It seems that there is still occasional packet drop for the ethernet driver. The other end would just wait forever for the packet.

The probablity is pretty low, but I do get it once or twice this morning when I try to test the performance for RPC.

It seems that there is still occasional packet drop for the ethernet driver. The other end would just wait forever for the packet. The probablity is pretty low, but I do get it once or twice this morning when I try to test the performance for RPC.

Also when I try to modify the socket options with tcp_nodelay, our code would fail, perhaps some packets are dropped. This makes me a bit worried.

Shall we try to do some fault injection into the system and see if our ethernet driver is robust enough? Like packet re-ordering, packet loss, etc.

Also when I try to modify the socket options with `tcp_nodelay`, our code would fail, perhaps some packets are dropped. This makes me a bit worried. Shall we try to do some fault injection into the system and see if our ethernet driver is robust enough? Like packet re-ordering, packet loss, etc.

Do you mean the TCP/IP stack (not quite the driver)?

Do you mean the TCP/IP stack (not quite the driver)?

Do you mean the TCP/IP stack (not quite the driver)?

I'm not sure, the behavior is that the next kernel would not be started until I try another connection such as artiq_coremgmt log. Perhaps this is not due to packet drop but some weird bug like M-Labs/artiq-zynq#93

Note: this is very rare.

> Do you mean the TCP/IP stack (not quite the driver)? I'm not sure, the behavior is that the next kernel would not be started until I try another connection such as `artiq_coremgmt log`. Perhaps this is not due to packet drop but some weird bug like https://git.m-labs.hk/M-Labs/artiq-zynq/issues/93 Note: this is very rare.

Does it have to be an actual TCP connection, or does e.g. a ping packet unblock the kernel?

Does it have to be an actual TCP connection, or does e.g. a ping packet unblock the kernel?

Does it have to be an actual TCP connection, or does e.g. a ping packet unblock the kernel?

yes, a ping packet would do.

> Does it have to be an actual TCP connection, or does e.g. a ping packet unblock the kernel? yes, a ping packet would do.

OK, so it looks like it could be in the driver indeed.

OK, so it looks like it could be in the driver indeed.

Running the test_performance in a loop could reproduce this issue consistently. It seems that the packet is not really transmitted until other packet comes. I am not sure what is happening there.

Running the `test_performance` in a loop could reproduce this issue consistently. It seems that the packet is not really transmitted until other packet comes. I am not sure what is happening there.
pca006132 changed title from intermittent packet drop to intermittent transmit problem 2020-09-03 14:59:32 +08:00

Not occurring after fixing the memory leak in aritq-zyqn. Possibly issue with timing, and the response time for the firmware increases as the heap is fragmented.

Closing now.

Not occurring after fixing the memory leak in aritq-zyqn. Possibly issue with timing, and the response time for the firmware increases as the heap is fragmented. Closing now.
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/zynq-rs#65
There is no content yet.