From 8482c20ed7734c8bd334a2a0edf881199832a753 Mon Sep 17 00:00:00 2001 From: Vesa Karvonen Date: Tue, 13 Jun 2023 13:26:16 +0300 Subject: [PATCH] [new release] kcas_data and kcas (0.5.3) CHANGES: All notable changes to this project will be documented in this file. ## 0.5.3 - Fix to also snapshot and rollback post commit actions (@polytypic) - Fix `Loc.compare_and_set` to have strong semantics (@polytypic) - Fix single location no-op updates to be strictly serializable (@polytypic) - Add `Dllist.move_l node list` and `Dllist.move_r node list` (@polytypic) ## 0.5.2 - Improve `Hashtbl` read-write performance and add `swap` (@polytypic) - Avoid some unnecessary verifies of read-only CMP operations (@polytypic) ## 0.5.1 - Add synchronizing variable `Mvar` to `kcas_data` (@polytypic) - Fix to allow retry from within `Xt.update` and `Xt.modify` (@polytypic) ## 0.5.0 - Add nested conditional transaction support (@polytypic) - Add explicit location validation support (@polytypic) ## 0.4.0 - Allocation of location ids in a transaction log friendly order (@polytypic) - Per location operating mode selection (@Dashy-Dolphin, review: @polytypic) - Injectivity `!'a Kcas_data.Dllist.t` annotation (@polytypic) ## 0.3.1 - Added doubly-linked list `Dllist` to `kcas_data` (@polytypic) - Minor optimizations (@polytypic) ## 0.3.0 - Remove the `Tx` API (@polytypic) - Add blocking support to turn kcas into a proper STM (@polytypic, review: @lyrm) - Add periodic validation of transactions (@polytypic) ## 0.2.4 - Introduce `kcas_data` companion package of composable lock-free data structures (@polytypic) - Add `is_in_log` operation to determine whether a location has been accessed by a transaction (@polytypic) - Add `Loc.modify` (@polytypic) - Add transactional `swap` operation to exchange contents of two locations (@polytypic) - Injectivity `!'a Loc.t` and variance `+'a Tx.t` annotations (@polytypic) ## 0.2.3 - Add support for post commit actions to transactions (@polytypic) - Bring `Xt` and `Tx` access combinators to parity and add `compare_and_swap` (@polytypic) ## 0.2.2 - New explicit transaction log passing API based on idea by @gasche (@polytypic, review: @samoht and @lyrm) ## 0.2.1 - New k-CAS-n-CMP algorithm extending the GKMZ algorithm (@polytypic, review: @bartoszmodelski) ## 0.2.0 - Complete redesign adding a new transaction API (@polytypic, review: @bartoszmodelski) ## 0.1.8 - Fix a bug in GKMZ implementation (@polytypic, review: @bartoszmodelski) ## 0.1.7 - Change to use the new GKMZ algorithm (@polytypic, review: @bartoszmodelski) ## 0.1.6 - Add preflights sorting and checks (@bartoszmodelski, review: @polytypic) ## 0.1.5 - Republish in opam (update opam, dune) (@tmcgilchrist, review: @Sudha247) --- packages/kcas/kcas.0.5.3/opam | 39 +++++++++++++++++++++++++ packages/kcas_data/kcas_data.0.5.3/opam | 39 +++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 packages/kcas/kcas.0.5.3/opam create mode 100644 packages/kcas_data/kcas_data.0.5.3/opam diff --git a/packages/kcas/kcas.0.5.3/opam b/packages/kcas/kcas.0.5.3/opam new file mode 100644 index 00000000000..ebea87894b3 --- /dev/null +++ b/packages/kcas/kcas.0.5.3/opam @@ -0,0 +1,39 @@ +opam-version: "2.0" +synopsis: + "Software transactional memory based on lock-free multi-word compare-and-set" +maintainer: ["KC Sivaramakrishnan "] +authors: ["KC Sivaramakrishnan "] +license: "ISC" +homepage: "https://github.com/ocaml-multicore/kcas" +bug-reports: "https://github.com/ocaml-multicore/kcas/issues" +depends: [ + "dune" {>= "3.3"} + "ocaml" {>= "5.0"} + "domain-local-await" {>= "0.2.0"} + "mdx" {>= "1.10.0" & with-test} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/ocaml-multicore/kcas.git" +url { + src: + "https://github.com/ocaml-multicore/kcas/releases/download/0.5.3/kcas-0.5.3.tbz" + checksum: [ + "sha256=2ee27b04a5ef1d36c28302da5bfbc67d34201b143d0b558b27743565aca2a39c" + "sha512=14bbad72d05936c96f0c93d08b5c13935438f02db55f72536e36641db86d2b84850434a761adb7f7ea861b3a99e37e6a7c8a5f248fbdc12fcaaa64ea59c07137" + ] +} +x-commit-hash: "bb2571cb7b431efd47c3007aef3b7ed6be4a1705" diff --git a/packages/kcas_data/kcas_data.0.5.3/opam b/packages/kcas_data/kcas_data.0.5.3/opam new file mode 100644 index 00000000000..ec20a824047 --- /dev/null +++ b/packages/kcas_data/kcas_data.0.5.3/opam @@ -0,0 +1,39 @@ +opam-version: "2.0" +synopsis: + "Compositional lock-free data structures and primitives for communication and synchronization" +maintainer: ["KC Sivaramakrishnan "] +authors: ["KC Sivaramakrishnan "] +license: "ISC" +homepage: "https://github.com/ocaml-multicore/kcas" +bug-reports: "https://github.com/ocaml-multicore/kcas/issues" +depends: [ + "dune" {>= "3.3"} + "kcas" {= version} + "mdx" {>= "1.10.0" & with-test} + "multicore-magic" {>= "1.0.0" & with-test} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/ocaml-multicore/kcas.git" +url { + src: + "https://github.com/ocaml-multicore/kcas/releases/download/0.5.3/kcas-0.5.3.tbz" + checksum: [ + "sha256=2ee27b04a5ef1d36c28302da5bfbc67d34201b143d0b558b27743565aca2a39c" + "sha512=14bbad72d05936c96f0c93d08b5c13935438f02db55f72536e36641db86d2b84850434a761adb7f7ea861b3a99e37e6a7c8a5f248fbdc12fcaaa64ea59c07137" + ] +} +x-commit-hash: "bb2571cb7b431efd47c3007aef3b7ed6be4a1705"