-
Notifications
You must be signed in to change notification settings - Fork 69
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
Give a pause when we iter on the index file and when we decompress a PACK file #631
Conversation
I tried this PR, thanks a lot. Unfortunately it doesn't solve the issue - I still don't get any reply to curl while the:
is being evaluated. I'm at the last expression of the
And I also encounter some issue with opam-mirror. What I observe is:
With the disassembly of opam-mirror.hvt:
So, a page fault in |
FWIW, another code location where git blocks is in Smart_git module, the fetch_v1 function where in a Lwt.try_bind
is evaluated. The |
Sorry to jump in here (without any help regarding the page fault :( ), bellow my comments on the asm code (with some edits, I misplaced some lines).
|
Co-authored-by: Hannes Mehnert <hannes@mehnert.org>
@palainp thanks for your comments.. this is with OCaml 4.14.1 and ocaml-solo5 0.8.2 (and solo5 0.7 series) FWIW. |
Yes I've looked against current |
Co-authored-by: Hannes Mehnert <hannes@mehnert.org>
bd1bb09
to
0151247
Compare
I finally did a last test on opam-mirror and this PR fixs our issue. Ready to merge. |
67fa53c
to
64b1bf5
Compare
CHANGES: - Add a `Lwt.pause` to insert a cooperative point when we verify a PACK file (@dinosaure, @hannesm, mirage/ocaml-git#631)
CHANGES: - Update unikernels (@hannesm, mirage/ocaml-git#621) - Extend the Smart protocol with `have` and `want` (@plangesd, @dinosaure, mirage/ocaml-git#626) - Rename function to get capabilities from the client and the server (@Julow, mirage/ocaml-git#627) - Extend the Smart protocol with a possible `done` or a `flush` (@plangesd, mirage/ocaml-git#628) - Extend the Smart protocol with `ack` and handle empty request (@plangesd, @Julow, mirage/ocaml-git#629) - Add missing new lines for the server side (@plangesd, mirage/ocaml-git#630) - Be more cooperative with other services (like `http`) when we clone (@dinosaure, @hannesm, mirage/ocaml-git#631)
Give a pause when we iter on the index file and when we decompress a PACK file
CHANGES: - Add a `Lwt.pause` to insert a cooperative point when we verify a PACK file (@dinosaure, @hannesm, mirage/ocaml-git#631)
CHANGES: - Update unikernels (@hannesm, mirage/ocaml-git#621) - Extend the Smart protocol with `have` and `want` (@plangesd, @dinosaure, mirage/ocaml-git#626) - Rename function to get capabilities from the client and the server (@Julow, mirage/ocaml-git#627) - Extend the Smart protocol with a possible `done` or a `flush` (@plangesd, mirage/ocaml-git#628) - Extend the Smart protocol with `ack` and handle empty request (@plangesd, @Julow, mirage/ocaml-git#629) - Add missing new lines for the server side (@plangesd, mirage/ocaml-git#630) - Be more cooperative with other services (like `http`) when we clone (@dinosaure, @hannesm, mirage/ocaml-git#631)
/cc @hannesm: a probably solution to let the
opam-mirror
unikernel be available even if we try to clone.