feat(xdp): Enhance XDP backend with improved concurrency and performance metrics#1620
feat(xdp): Enhance XDP backend with improved concurrency and performance metrics#1620mvp-2003 wants to merge 3 commits intomicrosoft:devfrom mvp-2003:con-xdp-1437
Conversation
mvp-2003
commented
Jul 22, 2025
- Added new configuration parameters for TX and RX fill and completion ring sizes.
- Introduced enhanced concurrency options for XDP operations, including batch sizes and adaptive batching.
- Implemented a performance testing example to demonstrate the benefits of the new XDP backend.
- Created a batch processing utility for efficient transmission of packets.
- Developed functional and unit tests to validate backward compatibility and new features.
- Updated configuration parsing to support new parameters and ensure proper validation.
…nce metrics - Added new configuration parameters for TX and RX fill and completion ring sizes. - Introduced enhanced concurrency options for XDP operations, including batch sizes and adaptive batching. - Implemented a performance testing example to demonstrate the benefits of the new XDP backend. - Created a batch processing utility for efficient transmission of packets. - Developed functional and unit tests to validate backward compatibility and new features. - Updated configuration parsing to support new parameters and ensure proper validation.
|
@mvp-2003: Currently, we don't support running CI on branches outside of our repo. And PRs cannot be pulled unless the CI passes. The only way to work around this is to create a new branch in our repo and submit a PR that way. Also, could you please write a small reasoning behind why you think this should be present in the mainstream codebase? |
anandbonde
left a comment
There was a problem hiding this comment.
Added a general comment on this PR. Please take a look.
|
@anandbonde Hello sir. Just to be sure, I understood the instructions clearly, you wanted me to create a new branch on the origianal repo and raise the PR from my forked repo to the new branch of the original repo and also give a proper documentation and state the reason for coming up with this approach, right? |
@mvp-2003: I've added you as a contributor to the repo, now you can create a new branch on the original repo and submit PR(s) from there. This will allow the CI actions to run on that branch — it's a mandatory check without which PRs cannot be checked in. Re. doc: It would be good to document what drove this change... are you addressing/fixing an existing issue or are you trying to solve a "local" problem that you are facing and want to contribute those changes back to the community? |
|
@anandbonde Hello sir. While trying to create a new branch from the "dev" branch, I am getting this error: "Create protected branch 'xdp-performance-improvement' check failed: You're not authorized to push to this branch. Visit https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches for more information." |
|
Hello @anandbonde |
I’m seeing that you already have permissions. Can you try ssh auth with the GitHub repo if https isn’t working. Let me know if it doesn’t work for you. |
|
Hello @anandbonde I don't think I am allowed to create branches. It may also be possible that there are some rulesets configures depending on roles. Can you check once again. Thank you. |
@mvp-2003, sorry for the delay, can you try now? I've explicitly added you in the list of contributors as well now and that should allow creating for new branches. |
|
I'm sorry @anandbonde it looks like I am still blocked. How possible would it be for you to create a branch for me and just tell the branch name here so that I can raise the PR. I think that would be a simpler approach with a guaranteed success. |
- Added `DynamicRingManager` to manage dynamic resizing of RX/TX rings based on workload and system metrics. - Introduced `DynamicSizingConfig` and `DynamicRingSizer` for configuring and calculating optimal ring sizes. - Implemented metrics collection through `MetricsCollector` to gather system and workload metrics. - Created `RingResizeCallback` trait for handling resize events with a default logging implementation. - Added functionality to evaluate and apply sizing recommendations based on collected metrics. - Enhanced error handling and validation for configuration parameters. - Established a background task for periodic evaluation of ring sizes. - Included detailed logging for resizing operations and metrics collection.
|
@anandbonde sir? Any updates? |
@mvp-2003 That will not work because you are not authorized to "push". I'll take a look. [update]: I've now re-enabled the permissions for your account. I'm confident that this should work. Please retry and let me know if it doesn't work. |