-
Notifications
You must be signed in to change notification settings - Fork 30
Adjust PBTs based on recommended_domain_count #112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
On the positive side, this roughly halves the Windows CI time. I believe the 5.0 x86_32-bit ocaml-ci error is due to using |
I now see 5.0-ppc64 and 5.0-s390x are going to fail for the same reason. |
Thanks for taking a look at this @jmid!
I think |
I don't think it is useful to run performance-sensitive workloads in bytecode mode. And, domainslib is for performance. I can't imagine bytecode runs for anything using domainslib being useful. |
That said, if you just want compatibility, you can remove to |
It would at least fix the Now, with the s390x native backend just merged yesterday, that will save us from having to roll a new Domainslib release to support this reestablished native platform when it get released with 5.1 or 5.2. It will not fix the There is something odd to me with all tests except the QCheck ones disabled in bytecode mode. |
Hm, possibly. What you mean is running parallel tests in parallel ends up spawning more than the limit - wondering if this could happen in native runs too?
I'm not sure why we should support architectures where we know the testsuite doesn't go through. Is it for the sake of completeness or am I missing something? |
If there is an easy way to disable 32-bit builds, ppc64, s390x in the ocaml-ci, we should do it. s390x will land in 5.1. ppc64 sometime in the future. |
#111 does it - but in a restrictive way by making the package unavailable in all those platforms. I'm open to considering a less restrictive way to do it, if that's beneficial. |
Great, I think fewer restrictions is key to enable broader adoption 👍 I've made 3 changes:
Let's see how this fares on ocaml-ci... 🍿 |
CI summary (while I wait for the ppc64 run to complete):
|
The ppc64 run ended up failing with a time out, so 0637fb1 also disables the two long running PBTs on ppc64 (64 bit bytecode for the moment). 07ca1ff adjusts This leaves the |
After confirming locally I've now opened an issue for the LU_decomposition assertion failure on arm32 here: ocaml/ocaml#12267 |
I would welcome input on the |
We don't know yet if the |
I've now dug a bit further and it seems to be a dune issue on bytecode only switches: ocaml/dune#7845 Let's see how this fares on the CI 🍿 |
The CI is happy finally! Thanks for the work, Jan. Merging this. |
CHANGES: * Add parallel_find (ocaml-multicore/domainslib#90, @gasche) * Update CI (ocaml-multicore/domainslib#93, @Sudha247) * Optimisation to work-stealing (ocaml-multicore/domainslib#96, @art-w) * Improve docs presentation (ocaml-multicore/domainslib#99, @metanivek) * Property based tests (ocaml-multicore/domainslib#100, jmid) * Task: avoid double handler installation (ocaml-multicore/domainslib#101, @gasche & @clef-men) * Fix a benign data-race in Chan reported by ocaml-tsan (ocaml-multicore/domainslib#103, @art-w) * Dune, opam, and GitHub Actions fixes (ocaml-multicore/domainslib#105, @MisterDA) * domain local await support (ocaml-multicore/domainslib#107, @polytypic) * Windows run on GitHub Actions (ocaml-multicore/domainslib#110, @Sudha247) * Adjust PBTs based on recommended_domain_count (ocaml-multicore/domainslib#112, @jmid) * Test condition tweaks (ocaml-multicore/domainslib#113, @jmid)
CHANGES: * Add parallel_find (ocaml-multicore/domainslib#90, @gasche) * Update CI (ocaml-multicore/domainslib#93, @Sudha247) * Optimisation to work-stealing (ocaml-multicore/domainslib#96, @art-w) * Improve docs presentation (ocaml-multicore/domainslib#99, @metanivek) * Property based tests (ocaml-multicore/domainslib#100, jmid) * Task: avoid double handler installation (ocaml-multicore/domainslib#101, @gasche & @clef-men) * Fix a benign data-race in Chan reported by ocaml-tsan (ocaml-multicore/domainslib#103, @art-w) * Dune, opam, and GitHub Actions fixes (ocaml-multicore/domainslib#105, @MisterDA) * domain local await support (ocaml-multicore/domainslib#107, @polytypic) * Windows run on GitHub Actions (ocaml-multicore/domainslib#110, @Sudha247) * Adjust PBTs based on recommended_domain_count (ocaml-multicore/domainslib#112, @jmid) * Test condition tweaks (ocaml-multicore/domainslib#113, @jmid)
CHANGES: * Upgrade to Saturn 1.0 (ocaml-multicore/domainslib#129, @Sudha247) * Update README.md instruction to use OCaml 5.1.0 (ocaml-multicore/domainslib#123, @punchagan) * Fix Saturn.Queue function (ocaml-multicore/domainslib#121, @Sudha247) * Make parallel_scan work on noncommutative functions (ocaml-multicore/domainslib#118, @aytao) * Test condition tweaks (ocaml-multicore/domainslib#113, @jmid) * Adjust PBTs based on recommended_domain_count (ocaml-multicore/domainslib#112, @jmid)
I noticed the CI run of #110 had 32-bit
Failure("failed to allocate domain")
in test/task_one_dep.mlI believe this is because the test does not take into account the available cores on the target machine.
This PR therefore adjusts the test to do so.
I hope this is sufficient to please the (32-bit) CI so that we can avoid disabling certain platforms like #111 proposes 🤞