We continue our journey implementing Hazard Pointers (https://erdani.org/publications/cuj-2...) in Rust. We follow along with the C++ implementation in Facebook's Folly library (https://github.com/facebook/folly/blo..., starting from where we left off last time: https://github.com/jonhoo/haphazard/t.... Much of the stream is catching up with the change to folly since last time (https://github.com/facebook/folly/com..., though we do also get to writing some concurrency tests with loom (https://docs.rs/loom/).
0:00:00 Introduction
0:03:12 Follow-up from last time
0:05:55 Re-visiting the interface
0:17:16 rebase: reset_protection
0:19:17 Folly changes since last time
0:22:50 rebase: hazard pointer constructors
0:41:39 rebase: irrelevant c++ commits
0:42:28 rebase: type renames
0:56:45 rebase: more irrelevant c++ commits
1:02:15 rebase: from push_retire to push_list
2:59:18 Tracking down a segfault with gdb
3:04:37 rebase: sharding the untagged list
3:44:08 rebase: track available hazard pointers
3:57:15 A quick break
4:01:10 cont'd: track available hazard pointers
5:03:48 Concurrency testing with loom
5:45:25 Writing a loom test
6:30:31 Test with two readers
6:40:22 Test dropping a non-global domain
6:45:35 Summary and next steps
You can find the latest code for the implementation at https://github.com/jonhoo/haphazard.
Live version with chat: • Implementing Hazard Pointers in Rust ...
On this page of the site you can watch the video online Implementing Hazard Pointers in Rust (part 3) with a duration of hours minute second in good quality, which was uploaded by the user Jon Gjengset 31 October 2021, share the link with friends and acquaintances, this video has already been watched 11,807 times on youtube and it was liked by 175 viewers. Enjoy your viewing!