标签: rust
假设我想(ab)使用缓存一致性来执行像FaRM那样的无锁读取,那么将具有单个64字节数组的结构作为数据就足以保证在64字节的体系结构上缓存行每个结构只占用一个缓存行吗?
答案 0 :(得分:7)
不,这不能保证对齐是缓存行。
RFC 1358添加了#[repr(align)]的概念,允许程序员指定对齐要求。此属性已在Rust 1.25中稳定下来。
#[repr(align)]
对于您的具体情况,您可以使用它:
#[repr(align(64))] struct Foo { value: u8, }