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
We've run into unexpected errors with alignment a few times, mostly because of hidden expectations around alignment that JustWorked when we were getting things working with simpler code and bigger buffers, but adding more architectures (esp. host-based unit testing), more complex process management, etc have revealed some problems waiting to happen.
I think we ultimately need to have some kind of AlignedBuffer type, or other interface constraint that low-level subsystems (especially arch-specific stuff like context switching machinery) can impose on their (arch-independent) callers when alignment assumptions / requirements exist.
I suspect this is something that can/should be zero-overhead, an associated zero-sized alignment type or other Rust-y game, but there is a bit of a design exercise that we need to go through for this.
The text was updated successfully, but these errors were encountered:
We've run into unexpected errors with alignment a few times, mostly because of hidden expectations around alignment that JustWorked when we were getting things working with simpler code and bigger buffers, but adding more architectures (esp. host-based unit testing), more complex process management, etc have revealed some problems waiting to happen.
I think we ultimately need to have some kind of
AlignedBuffer
type, or other interface constraint that low-level subsystems (especially arch-specific stuff like context switching machinery) can impose on their (arch-independent) callers when alignment assumptions / requirements exist.I suspect this is something that can/should be zero-overhead, an associated zero-sized alignment type or other Rust-y game, but there is a bit of a design exercise that we need to go through for this.
The text was updated successfully, but these errors were encountered: