Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DataPlane] Packet processing pipeline performance analyzis #74

Open
GeorgyKirichenko opened this issue Nov 3, 2023 · 0 comments
Open

Comments

@GeorgyKirichenko
Copy link
Collaborator

It would be nice to see how much time a packet is spending during DataPlane pipeline processing, which could be useful for analyzing performance issues and/or optimizations.

Since the analysis should not result in performance degradation, I would suggest the following approach:

  • Create a shared memory segment
  • Allocate a dedicated memory block for each worker to avoid interference between them.
  • Map the entire block to a sequence of counters initialized to zero.
  • Get the TSC counter between each pipeline step we want to analyze.
  • Increasing the corresponding counter for each employee by the difference between the TCS counters immediately after and before the analysis stages.

After this we could create a reader application that does:

  • Attach to shared memory segment
  • Read counters for workers in a loop
  • Show the difference between the next and previous values
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant