Tom Kelly
Tom Kelly
> * `stack_size_bucket` will only return something if `wosize` is exactly a power of two times `caml_fiber_wsz` but `alloc_stack_noexc` seems to call it with a weaker assumption. This is a...
Beware trying to do clever things in the "multi-domain" case. Things can get really complicated. Consider two domains: - Domain A contains an ephemeron E1 where the key is alive...
So I think the Async failures should be cleaned up by the merge of #590.
After some back and forth with some of the ways to fix this, I've got one that might work based around passing the pool back to its owner. Care is...
> This looks reasonable to me. Given that remarking is rare, this queue could just be a lock-protected linked list, couldn't it? Absolutely - I was assuming the queues would...
I'm not sure I understand the nature of the problem. I took a look at the source code for `Core.Unix.RLimit.set`: https://github.com/janestreet/core/blob/master/core_unix/src/core_unix_stubs.c#L703-L712 This looks like it should work on multicore because...
With the merge of #531, you should now be able to set the maximum stack size for fibers from both bytecode and native programs using `Gc.set` and the `stack_limit` parameter.
Thanks for fuzzing domainslib, it is useful. I'm a bit confused how your proposed fix will work. Isn't there a unique mutex+condition_variable for each waiting receiver in `recv'` already: https://github.com/ocaml-multicore/domainslib/blob/3d5f79c5cf6a295b8c0652fb7470211b33b05b81/lib/chan.ml#L150...
With systhreads and continuations/fibers it is possible for multiple execution contexts (aka 'threads') to share the same `Domain.DLS.get mutex_condvar_key` since `Domain.DLS` is specific at the _domain_ level. I make fixing...
The motivation for the proposal and the performance looks good to me. From a multicore perspective: - multicore is not planning a special root mechanism now it uses a stop-the-world...