将结构对齐到Rust

时间:2016-12-11 19:17:49

标签: rust

假设我想(ab)使用缓存一致性来执行像FaRM那样的无锁读取,那么将具有单个64字节数组的结构作为数据就足以保证在64字节的体系结构上缓存行每个结构只占用一个缓存行吗?

1 个答案:

答案 0 :(得分:7)

不,这不能保证对齐是缓存行。

RFC 1358添加了#[repr(align)]的概念,允许程序员指定对齐要求。此属性已在Rust 1.25中稳定下来。

对于您的具体情况,您可以使用它:

#[repr(align(64))]
struct Foo {
    value: u8,
}