Skip to content

Real time performance impacted by STM32 Ethernet traffic #75813

@aneejosep

Description

@aneejosep

Discussed in #75424

Originally posted by aneejosep July 4, 2024
I am evaluating Zephyr for one of the upcoming product development and found that the real time performance is greatly affected when there is traffic in the network interface.

The way I do my test is as follows.

  • A timer to signal a semaphore every 1ms.
  • A high priority task to receive this signal and add trace point.
  • Adding trace point is nothing but to get the current time and compute the difference from the previous point (ideally it should be 1ms) and store it in an array.
  • Record 100K points and after tests are done, print the values to console.
  • Use these values to plot a histogram.

I see that when no network traffic the results are ok. But when there is network traffic, the values even shift more than 500μs on an STM32 board. On an NXP board it is even worse like 3+ ms jitter.

image

For NXP, an issue #75624 was created and fixed by this pull request.

For STM32, it has to be fixed by removing the block in the HAL driver(due the cooperative thread) as mentioned in the answer in the discussion.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions