Hazard pointer enabled refcount prototype

From: Mathieu Desnoyers
Date: Fri Oct 04 2024 - 16:17:09 EST


Hi Greg,

After our discussion at KR2024, I've created a prototype adding hazard pointer
dereference support to refcount.h:

https://github.com/compudj/linux-dev/commit/234523dc9be90f1bc9221bf2d430c9187ac61528

Branch: https://github.com/compudj/linux-dev/tree/hp-6.11-refcount

It allows dereferencing a pointer to a refcount and incrementing the refcount,
without relying on RCU.

A good candidate for this would be the "usblp" driver which is using a static mutex
for existence guarantees. Introducing a refcount as first field of struct usblp
should do the trick.

I am not entirely sure if this kind of use-case justifies introducing hazard pointers
though, as this can be done just as well with RCU. I'll let you be the judge on this.

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com