eliminate bifurcated rw lock path based on exclusive mode; promote thread operations to base layer, use os layer as impl; first pass on moving file streaming layer to base layer's async wavefront

This commit is contained in:
Ryan Fleury
2025-09-17 14:47:55 -07:00
parent 99c989a3c3
commit 0d15b8670b
40 changed files with 450 additions and 607 deletions
+3 -3
View File
@@ -23,7 +23,7 @@ rb_entry_point(CmdLine *cmdline)
threads_count = threads_count_from_cmdline;
}
}
OS_Handle *threads = push_array(scratch.arena, OS_Handle, threads_count);
Thread *threads = push_array(scratch.arena, Thread, threads_count);
RB_ThreadParams *threads_params = push_array(scratch.arena, RB_ThreadParams, threads_count);
Barrier barrier = barrier_alloc(threads_count);
for EachIndex(idx, threads_count)
@@ -32,11 +32,11 @@ rb_entry_point(CmdLine *cmdline)
threads_params[idx].lane_ctx.lane_idx = idx;
threads_params[idx].lane_ctx.lane_count = threads_count;
threads_params[idx].lane_ctx.barrier = barrier;
threads[idx] = os_thread_launch(rb_thread_entry_point, &threads_params[idx], 0);
threads[idx] = thread_launch(rb_thread_entry_point, &threads_params[idx]);
}
for EachIndex(idx, threads_count)
{
os_thread_join(threads[idx], max_U64);
thread_join(threads[idx], max_U64);
}
scratch_end(scratch);
}