Skip to content

Real time performace impacted by ethernet traffic #75424

Answered by yashi
aneejosep asked this question in General
Discussion options

You must be logged in to vote

I'm not sure this is the one but eth_stm32_hal.c has the following block in rx_thread()

			while ((pkt = eth_rx(dev)) != NULL) {
				iface = net_pkt_iface(pkt);
#if defined(CONFIG_NET_DSA)
				iface = dsa_net_recv(iface, &pkt);
#endif
				res = net_recv_data(iface, pkt);
				if (res < 0) {
					eth_stats_update_errors_rx(
							net_pkt_iface(pkt));
					LOG_ERR("Failed to enqueue frame "
						"into RX queue: %d", res);
					net_pkt_unref(pkt);
				}
			}

This means that when the device is kept receiving packetes, it won't leave the function. The thread which calls this function is created as:

		/* Start interruption-poll thread */
		k_thread_create(&dev_data->rx_thread, dev_data->rx_thr…

Replies: 4 comments 5 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
5 replies
@jukkar
Comment options

jukkar Jul 5, 2024
Collaborator

@yashi
Comment options

yashi Jul 5, 2024
Collaborator

Answer selected by aneejosep
@aneejosep
Comment options

@aneejosep
Comment options

@jukkar
Comment options

jukkar Jul 12, 2024
Collaborator

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
5 participants