aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-01 02:01:42 +0100
committereunhhu <[email protected]>2026-10-01 02:01:42 +0100
commita09ef095623c3b3f951edff2eb0c013708159f70 (patch)
tree947f5361af50b1ed7f6c23f5e9594fee78e11b13 /benchmarks
parent3be6f4d31cdb3d6d4c65e0387215c96f0d7345f8 (diff)
downloadpure-a09ef095623c3b3f951edff2eb0c013708159f70.tar.gz
pure-a09ef095623c3b3f951edff2eb0c013708159f70.zip
Give each store its own writer's turn and commit group (017)
Threads of one process took turns as the tree store's writer for every store at once, through one mutex held for a whole session, syncs included, and commits grouped in one queue whose leader published each store's requests in turn. One store's slow sync held every other store's commit, so apps of one host would wait on each other's device. The turns and the group are now a store's, found by its directory's identity (two paths to one directory still share them, since the file lock arbitrates only between processes). The temporary files' sequence, which that mutex guarded, is atomic. A test holds a commit in its sync and commits to another store meanwhile, while a second commit to the held store, by another path, waits; before this change it hangs.
Diffstat (limited to 'benchmarks')
0 files changed, 0 insertions, 0 deletions