Skip to content

Commit

Permalink
add notes on unsupported features
Browse files Browse the repository at this point in the history
  • Loading branch information
tomtomjhj committed Sep 19, 2021
1 parent 15c7bab commit 3516580
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,20 @@ Then, run the test with
RUSTFLAGS="--cfg loom" cargo test --test buggy_concurrent_inc --release
```

## C11 Memory model coverage
Loom currently does not implement the full C11 memory model.
Here is the (incomplete) list of unsupported features.
* `SeqCst` accesses (e.g. `load`, `store`, ..):
They are are regarded as `AcqRel`. That is, they impose weaker
synchronization, causing Loom to generate false alarms (not complete). See
[#180](/~https://github.com/tokio-rs/loom/issues/180) for example. On the other
hand, `fence(SeqCst)` is supported.
* Load buffering behavior:
Loom does not explore some executions that are possible in the C11 memory
model. That is, there can be a bug in the checked code even if Loom says
there is no bug (not sound). See the `load_buffering` test case in
`tests/litmus.rs`.

## License

This project is licensed under the [MIT license](LICENSE).
Expand Down

0 comments on commit 3516580

Please sign in to comment.