firebird icon indicating copy to clipboard operation
firebird copied to clipboard

Hash table based on lock-free list for page cache.

Open hvlad opened this issue 3 years ago • 3 comments

Replaced hash table guarded with the rw-lock by lock-free implementation. It removes one of the main bottlenecks in the shared page cache.

The new hash table uses lock-free linked list and hazard pointers safe memory reclamation implemented in CDS library.

Many thanks to @romansimakov who intensively tested this code, found few bugs and added some comments and assertions.

hvlad avatar Oct 08 '22 18:10 hvlad

:x: Build firebird 1.0.4746 failed (commit https://github.com/FirebirdSQL/firebird/commit/0c3cfe625b by @hvlad)

AppVeyorBot avatar Oct 08 '22 20:10 AppVeyorBot

Also, Alex has been implementing hazard ptrs in metadata cache branch. Can't his solution be used here too?

asfernandes avatar Oct 08 '22 21:10 asfernandes

On 10/9/22 00:40, Adriano dos Santos Fernandes wrote:

Also, Alex has been implementing hazard ptrs in metadata cache branch. Can't his solution be used here too?

I prefer to switch to cds.

AlexPeshkoff avatar Oct 10 '22 10:10 AlexPeshkoff