3 unstable releases
Uses old Rust 2015
0.1.0 | Feb 8, 2018 |
---|---|
0.0.1 | Feb 6, 2018 |
0.0.0 | Jan 29, 2018 |
#13 in #transactional-memory
21KB
276 lines
intel-tsx-rtm
This crates provides a simple set of wrappers around Intel's TSX RTM instructions and associated intrinsics. It needs a C compiler to create a small shim. This is important because Rust's compiler does not like code with multiple returns. It does not depend on your compiler having the necessary headers (<immintrin.h>
), and so can work with older compilers and other Operating Systems.
It uses third-party self-modifying code (Andi Kleen's tsx-tools
) to provide runtime detection of CPUs without TSX and fallback to non-hardware paths.
Licensing
The license for this project is MIT.
lib.rs
:
intel-tsx-rtm
This crates provides a simple set of wrappers around Intel's TSX RTM instructions and associated intrinsics.
It uses code to provide runtime detection of CPUs without TSX and fallback to non-hardware paths.
It is best to start with HardwareMemoryTransactionManager
.
It will only compile with nightly (as of February 8th, 2018) because it uses the asm!
macro.
Dependencies
~0.6–0.9MB
~18K SLoC