kernel - Add atomic ops features
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 22 Feb 2017 07:51:59 +0000 (23:51 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 22 Feb 2017 18:50:21 +0000 (10:50 -0800)
commit01740954a98f4843efca6fb69b6260c846ff05a6
tree24853ad5312b658061bda3a7439145f1d7691160
parent719bf70a37139bc3bedc84ab0975df7107155714
kernel - Add atomic ops features

* Add <atomicop>_xacquire() and <atomicop>_xrelease() to a bunch of
  atomic ops.  Using this API will elide the operation using Intel's
  TSX extensions (the elides are backwards compatible to cpus that do
  not support TSX).

* Note however that preliminary testing using this API in the spin_lock*()
  and pv_*() interfaces has only led to a reduction of performance and not
  to any improvement, so at the moment we do not intend to use it.  But I
  did the work to add the API calls and I don't want to lose it.
sys/cpu/x86_64/include/atomic.h