Our skip list code is currently tightly coupled with its use in our B+ tree pages. It would be advantageous for us to separate it into its own functions and/or macros, so that we can:
- Have better tests for the skip lists, which would become particularly advantageous if we try to make any changes to it.
- Take advantage of better tooling, such as the TSAN thread sanitizer, without being overwhelmed with false positives coming from different parts of the code.
- Reuse the skip list code more easily.
That being said, doing this may be difficult, such as because there are no generics in C or because the skip list code may need to use WT_SESSION (which may make it harder to test it in isolation), and we would like to achieve all that without a performance regression. We should investigate the feasibility of this change, and if the results are promising, implement it.
- has to be done before
-
WT-11750 Remove cast from SKIP_FIRST and SKIP_LAST.
- Backlog