-
Notifications
You must be signed in to change notification settings - Fork 4.7k
TCP receive zerocopy support #8510
Copy link
Copy link
Open
Labels
Area: TransportIncludes HTTP/2 client/server and HTTP server handler transports and advanced transport features.Includes HTTP/2 client/server and HTTP server handler transports and advanced transport features.P2Type: FeatureNew features or improvements in behaviorNew features or improvements in behavior
Metadata
Metadata
Assignees
Labels
Area: TransportIncludes HTTP/2 client/server and HTTP server handler transports and advanced transport features.Includes HTTP/2 client/server and HTTP server handler transports and advanced transport features.P2Type: FeatureNew features or improvements in behaviorNew features or improvements in behavior
Type
Fields
Give feedbackNo fields configured for Feature.
Use case(s) - what problem will this feature solve?
TCP receive zerocopy can be used on Linux to increase throughput, decrease CPU usage, and decrease memory bandwidth pressure.
Proposed Solution
Add support for zerocopy receive. This breaks into a few smaller issues:
SO_RCVLOWAT, which reduces CPU usage and is important for zerocopy performance.SO_RCVLOWATis used in the C++ gRPC library as well.The implementation may be limited to ALTS connections at first, but I'd like to expand it beyond ALTS in the future.
Alternatives Considered
N/A, as the goal here is specifically to get zerocopy working.
Additional Context
I plan on implementing this myself.