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

PDU loop improvements and cleanup #30

Merged
merged 7 commits into from
Mar 17, 2023
Merged

PDU loop improvements and cleanup #30

merged 7 commits into from
Mar 17, 2023

Conversation

jamwaffles
Copy link
Collaborator

@jamwaffles jamwaffles commented Mar 17, 2023

  • Frame wakers can't be accessed concurrently, so the spin::RwLock around them is removed. scratch that - MIRI is unhappy. I still believe they can't be accessed concurrently, but at least we're protected now. Performance didn't really change either so that's nice.
  • Replaced cookie_factory with my own small set of functions. These can panic instead of returning Result but are guarded by the ethernet frame creation code checking buffer sizes.
  • Massively improve unrealistic throughput benchmark (which doesn't use a network interface so take with a pinch of salt) by changing to a simpler block_on method: theoretical max perf up to 15M packets/sec or 120 MiB/sec on my Windows 11 5950X machine. Throughput with a real network interface will be a lot lower I imagine but it's nice to see we can get over the 100Mbit 100Base-T limit in contrived cases.

@jamwaffles jamwaffles merged commit ef20453 into master Mar 17, 2023
@jamwaffles jamwaffles deleted the faster-pdu-loop branch March 17, 2023 21:08
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

Successfully merging this pull request may close these issues.

1 participant