Vesa Karvonen

Results 96 issues of Vesa Karvonen

This adds a solution to the sleeping barbers problem as an example of using Kcas data structures. Note the solution uses a bounded `Queue`. This PR must not be merged...

This PR adds optional `capacity` argument to `Queue.create` and `Stack.create` allowing one to create a bounded queue/stack. TODO: - [x] Add capacity to stack. - [ ] Allow setting the...

This PR adds another benchmark that stresses the transaction mechanism. The benchmark is based on a naïve leftist heap data structure. The problem with that is that every operation modifies...

Being able to freely point to locations in a double-linked list allows more uses for a double-linked list.

This PR changes Kcas to use [Picos](https://github.com/ocaml-multicore/picos/) instead of [DLA](https://github.com/ocaml-multicore/domain-local-await) and [DLT](https://github.com/ocaml-multicore/domain-local-timeout) for scheduler interop. ⚠️ This must obviously not be merged before at least a first release of Picos...

Currently, if an action registered with `Xt.post_commit` raises an exception, then [actions registered later will not be called](https://github.com/ocaml-multicore/kcas/blob/1f7130514e8bbdfa57c05f1b54e21643136e1e4a/src/kcas/kcas.ml#L109-L110). At the very least this and the order in which actions will...

enhancement
potential-bug

The `kcas` library currently lacks benchmarks, tests, and cool examples and those can also serve as a good way to understand k-CAS itself. The [`kcas_data`](https://ocaml-multicore.github.io/kcas/doc/kcas_data/Kcas_data/index.html) library provides a few data...

good first issue

**kcas** aims to be usable both * for experts implementing correct and performant lock-free data structures, and * for everyone gluing together programs using such data structures. The second bullet...