-
-
Notifications
You must be signed in to change notification settings - Fork 16
Bound IOCP staging allocations independently of caller buffer capacity #534
Copy link
Copy link
Open
Labels
help wantedThe issue requires extra attention or help from others.The issue requires extra attention or help from others.os performance optimizationIssues related to optimizing performance for a specific operating system.Issues related to optimizing performance for a specific operating system.performanceIssues related to performance or optimization.Issues related to performance or optimization.
Description
Activity
Metadata
Metadata
Assignees
Labels
help wantedThe issue requires extra attention or help from others.The issue requires extra attention or help from others.os performance optimizationIssues related to optimizing performance for a specific operating system.Issues related to optimizing performance for a specific operating system.performanceIssues related to performance or optimization.Issues related to performance or optimization.
iocp_start_ioallocates and zeroeslengthbytes for every operation, accepting sizes up to 4,294,967,295 bytes. Writes additionally copy the complete requested range. A large read capacity therefore reserves an equally large second buffer even when only a small message will arrive. Multiple outstanding requests amplify this cost.Owned kernel-visible storage is intentional for cancellation safety; this report is about bounding that storage, not removing ownership protection.
Source evidence at the head of #520:
pub fun iocp_start_ioAcceptance:
Related: #445. Native buffer lifetime must remain correct while reducing resource use.
Audit status: identified by static source inspection; the scenarios above have not been executed during this audit. This follows up the implementation introduced in draft PR #520.