-
Notifications
You must be signed in to change notification settings - Fork 136
feat(xdp): Enhance XDP backend with improved concurrency and performance metrics #1620
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
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? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |