Skip to content

Do not always enable DSCP on Recv#5467

Merged
ProjectsByJackHe merged 14 commits intomainfrom
jackhe/toggle-dscp-recv
Sep 30, 2025
Merged

Do not always enable DSCP on Recv#5467
ProjectsByJackHe merged 14 commits intomainfrom
jackhe/toggle-dscp-recv

Conversation

@ProjectsByJackHe
Copy link
Contributor

Description

DSCP on Recv, when enabled, seriously regresses performance.

At the same time, we cannot just delete the code.

So let's come to a compromise and only enable it via a global SetParam.

Most users of MsQuic SHOULD NOT set this on. But we set it on in our CI so our test code can exercise DSCP.

Testing

CI

Documentation

No

@ProjectsByJackHe ProjectsByJackHe requested a review from a team as a code owner September 27, 2025 02:10
@codecov
Copy link

codecov bot commented Sep 27, 2025

Codecov Report

❌ Patch coverage is 60.00000% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.67%. Comparing base (f7657ad) to head (e7fea81).
⚠️ Report is 10 commits behind head on main.

Files with missing lines Patch % Lines
src/core/library.c 60.00% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5467      +/-   ##
==========================================
- Coverage   85.05%   84.67%   -0.39%     
==========================================
  Files          59       59              
  Lines       18605    18620      +15     
==========================================
- Hits        15825    15766      -59     
- Misses       2780     2854      +74     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Collaborator

@guhetier guhetier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two high level comments:

  • should we consider a "common" sub-struct to the CX_PLATFORM to avoid duplicating this code for all platforms?

  • I am not a fan of storing this setting in the CX_PLATFORM in the first place. It isn't a property of the platform. It would be better as a parameter provided to DatapathInitialize, and stored with most other global settings in the library object.

@ProjectsByJackHe
Copy link
Contributor Author

Two high level comments:

  • should we consider a "common" sub-struct to the CX_PLATFORM to avoid duplicating this code for all platforms?
  • I am not a fan of storing this setting in the CX_PLATFORM in the first place. It isn't a property of the platform. It would be better as a parameter provided to DatapathInitialize, and stored with most other global settings in the library object.

yes I agree, storing this in the library object would be the way to go. I had an offline meeting with @anrossi and he wanted it in CX_PLATFORM but I forgot the reasoning. @anrossi what was the reason again?

@ProjectsByJackHe ProjectsByJackHe merged commit 4a6febc into main Sep 30, 2025
461 of 466 checks passed
@ProjectsByJackHe ProjectsByJackHe deleted the jackhe/toggle-dscp-recv branch September 30, 2025 21:55
@ProjectsByJackHe ProjectsByJackHe restored the jackhe/toggle-dscp-recv branch October 6, 2025 20:54
ProjectsByJackHe added a commit that referenced this pull request Oct 6, 2025
* work-around to add recv dscp

* posix

* wip

* linux packages?c

* posix

* proper init

* respond to feedback

* more nit feedback, remove hard-coded TRUE

* comments

* fix build

* fix winkernel build

* wip

* wip

* address comments
ProjectsByJackHe added a commit that referenced this pull request Oct 7, 2025
* Do not always enable DSCP on Recv (#5467)

* work-around to add recv dscp

* posix

* wip

* linux packages?c

* posix

* proper init

* respond to feedback

* more nit feedback, remove hard-coded TRUE

* comments

* fix build

* fix winkernel build

* wip

* wip

* address comments

* remove comment
Copilot AI pushed a commit that referenced this pull request Oct 10, 2025
* work-around to add recv dscp

* posix

* wip

* linux packages?c

* posix

* proper init

* respond to feedback

* more nit feedback, remove hard-coded TRUE

* comments

* fix build

* fix winkernel build

* wip

* wip

* address comments
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.

5 participants