New API requires user to call explicit flush. We can implement doorbell batching and close unfinished batch by the flush. This will guarantee doorbell and zcopy completions progress even if user stops sending data.
What
Implement doorbell batching for the new API.
Why ?
Up to 4% performance improvement depending on scenario.
Change type
What kind of change does this PR introduce?
[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Tests
[ ] Other
Check list
[ ] Code follows the style de facto guidelines of this project
[ ] Comments have been inserted in hard to understand places
Description
New API requires user to call explicit flush. We can implement doorbell batching and close unfinished batch by the flush. This will guarantee doorbell and zcopy completions progress even if user stops sending data.
What
Implement doorbell batching for the new API.
Why ?
Up to 4% performance improvement depending on scenario.
Change type
What kind of change does this PR introduce?
Check list