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

Don't Use Partial Datagrams with USO/GSO #4796

Open
2 of 4 tasks
nibanks opened this issue Feb 4, 2025 · 1 comment
Open
2 of 4 tasks

Don't Use Partial Datagrams with USO/GSO #4796

nibanks opened this issue Feb 4, 2025 · 1 comment
Assignees
Milestone

Comments

@nibanks
Copy link
Member

nibanks commented Feb 4, 2025

Describe the bug

Today, MsQuic generally fills every last byte when building USO/GSO buffers to be segmented (by stack or HW) and sent out. Some HW doesn't support a smaller trailing packet, which actually can hurt performance.

Affected OS

  • Windows
  • Linux
  • macOS
  • Other (specify below)

Additional OS information

No response

MsQuic version

main

Steps taken to reproduce bug

Run secnetperf on a platform/machine that supports USO/GSO.
Observe that it's generally sending one small packet per batch.

Expected behavior

Small packets

Actual outcome

There shouldn't be small packets unless it because application limited.

Additional details

No response

@mtfriesen
Copy link
Contributor

@nibanks knocking this down to P2, since VMs in practice do not support hardware USO yet, so this would only benefit bare metal customers. Still aiming to get this done in 2502.

@nibanks nibanks moved this from Planned to In Progress in DPT Iteration Tracker Feb 26, 2025
@nibanks nibanks moved this from In Progress to Slipped in DPT Iteration Tracker Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Slipped
Development

No branches or pull requests

2 participants