11–13 Dec 2025
Asia/Tokyo timezone

A (Simple) Hazard Pointer Update

13 Dec 2025, 15:45
45m
"Hall A1 (330)" (Toranomon Hills Mori Tower)

"Hall A1 (330)"

Toranomon Hills Mori Tower

LPC Refereed Track LPC Refereed Track

Speakers

Boqun Feng Paul McKenney (Facebook)

Description

Following up on the initial hazard pointer demonstration 1, the
in-kernel hazard pointers have been significantly improved based on
extensive feedback and discussions. A status update is therefore
warranted.

Besides some improvement/fixes of the normal hazard pointers
implementation, we will demonstrate a variant of hazard pointers --
simple hazard pointers (or shazptr) -- that offers an intuitive API and
can outperform RCU (including expedited RCU) in scenarios prioritizing
updater wait times or memory footprint.

Shazptr achieves simplicity through a shared per-CPU hazard pointer slot
and a "wildcard" mechanism, eliminating the need to allocate hazard
pointer slots prior to use.

Applying simple hazard pointers to lockdep accelerates dynamic key
unregistration (~20x speed-up 2), while avoiding additional IPIs.
Micro-benchmarks further indicate that shazptr surpasses RCU in updater
wait times while maintaining reasonable overhead on the reader side.

We will also cover the future potential of merging shazptr and normal
hazard pointers.

Primary authors

Presentation materials

There are no materials yet.