Tom Kelly
Tom Kelly
The existing stack cache scheme implemented in `stack_size_bucket` / `alloc_stack_noexc` is brittle (original report [742#comment](https://github.com/ocaml-multicore/ocaml-multicore/issues/742#issuecomment-979317516)): > `stack_size_bucket` will only return something if `wosize` is exactly a power of two times...
A design assumption in multicore was that we could reserve address space and not commit that address space for use without it impacting users. There are examples (e.g. #732) where...
`pool_release` in the shared_heap does not currently return memory to the OS. Two considerations: - the pools are currently allocated in blocks in `pool_acquire` this may need to change -...
In the minor GC as it stands, we promote all ephemeron keys and let the major GC handle the complexities of knowing if a key is alive in any domain....
We should make sure that dynlink is multi-thread safe and inline with upstream OCaml. For example, right now we have historical disables for dynlink in the testsuite (see [here](https://github.com/ocaml-multicore/ocaml-multicore/blob/06d5aa0bf63778de509a7eee129bb5f31508466f/testsuite/disabled#L11-L18))
This PR attempts to improve the GC stats we print on `OCAMLRUNPARAM=v=0x400`. `minor_collections` currently tells you how many minor heaps were collected across all domains. It does **not** tell you...
This PR implements a solution to the problem of remarking pools owned by another domain as in ocaml-multicore#466. Remarking occurs when a domain's mark stack overflows its allowable space in...
We have had a number of CI failures recently; particularly with the bytecode test for `parallel/domain_parallel_spawn_burn`. The segfaults are non-deterministic and quite horrible to reproduce in `rr` (very time consuming);...
The logging functions `caml_gc_log` and `caml_gc_message` do a guard check on `caml_params->verb_gc`. However they do the guard check inside the function which can have some undesirable properties: - the arguments...
It might be useful (at least experimentally) to add an interface that allows the user to easily: - query the number of CPUs in a system - query the NUMA...