From 380a4f9cfcc72bb774cc4c26591f619b5baa1f1e Mon Sep 17 00:00:00 2001 From: Kresten Krab Thorup Date: Mon, 30 Apr 2012 22:44:21 +0200 Subject: [PATCH] Redo work load computation The simplistic approach has a race condition. This works for now, albeit still issuing too much work. --- src/hanoi_level.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hanoi_level.erl b/src/hanoi_level.erl index b3d59bb..8f2a8c6 100644 --- a/src/hanoi_level.erl +++ b/src/hanoi_level.erl @@ -565,7 +565,7 @@ do_step(StepFrom, HowMuch, State) -> WorkLeftHere = 0 end, WorkToDoHere = min(WorkLeftHere, HowMuch), - DelegateWork = max(0,HowMuch - max(?BTREE_SIZE(?TOP_LEVEL), WorkToDoHere)), + DelegateWork = max(0,HowMuch - WorkToDoHere), ?log("step:~p, do:~p, left:~p ~n", [HowMuch, WorkToDoHere, WorkLeftHere]),