You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The demi_sgaalloc API uses the LibOS's sgaalloc provider to allocate memory. Most (all?) LibOSes currently use MemoryRuntime to handle these sgaalloc calls. This implementation will fail allocations where the size parameter is greater than u16::MAX, as the code is not currently situated to allocate more than one DemiBuffer (the DemiBuffer length field is 16 bytes).
This limitation potentially requires clients to juggle multiple independent buffers, which could unnecessarily complicate client-side logic.
Update MemoryRuntime's sgaalloc implementation to chain buffers to reach the desired allocation iota. Useful support will subsequently require changes to each LibOS to accept chained DemiBuffers.
Alternative Solutions
Allocation sizes could be limited to 16 bits as a formal contract, but this seems very artificially limiting versus other software.
The text was updated successfully, but these errors were encountered:
Context
The
demi_sgaalloc
API uses the LibOS'ssgaalloc
provider to allocate memory. Most (all?) LibOSes currently useMemoryRuntime
to handle thesesgaalloc
calls. This implementation will fail allocations where thesize
parameter is greater thanu16::MAX
, as the code is not currently situated to allocate more than oneDemiBuffer
(theDemiBuffer
length field is 16 bytes).This limitation potentially requires clients to juggle multiple independent buffers, which could unnecessarily complicate client-side logic.
See also #88 (outdated)
Proposed Solution
Update
MemoryRuntime
'ssgaalloc
implementation to chain buffers to reach the desired allocation iota. Useful support will subsequently require changes to each LibOS to accept chainedDemiBuffer
s.Alternative Solutions
Allocation sizes could be limited to 16 bits as a formal contract, but this seems very artificially limiting versus other software.
The text was updated successfully, but these errors were encountered: