Hazard pointers: Optimize memory order, add bulk reclamation control, add stats,...
authorMaged Michael <magedmichael@fb.com>
Fri, 2 Jun 2017 18:16:04 +0000 (11:16 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Fri, 2 Jun 2017 18:20:08 +0000 (11:20 -0700)
commit3c1182171f38b6506bd818e95ae24636b1cd0ca0
treef76f7c1d74d0b48186d2c3da5d10ff58f39a3c0e
parenta88d0d7240dbb9b2e71a6276d94e147ac1d9039b
Hazard pointers: Optimize memory order, add bulk reclamation control, add stats, add implementation switches, add benchmarks.

Summary: Make the implementation partially performant by optimizing memory order and using asymmetric memory barrier for full fences. Also added more control for bulk reclamation implementation, stats, and quality of implementation switches.

Reviewed By: djwatson

Differential Revision: D5129614

fbshipit-source-id: c597edf711fdc8f16f80523bd8cae42c51fbe140
folly/experimental/hazptr/bench/HazptrBench-Amb.cpp [new file with mode: 0644]
folly/experimental/hazptr/bench/HazptrBench-NoAmb.cpp [new file with mode: 0644]
folly/experimental/hazptr/bench/HazptrBench.h [new file with mode: 0644]
folly/experimental/hazptr/debug.h
folly/experimental/hazptr/hazptr-impl.h
folly/experimental/hazptr/hazptr.h
folly/experimental/hazptr/test/HazptrTest.cpp