Skip to content
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

gambit: disable use of poll() on Darwin #88113

Merged
merged 1 commit into from May 19, 2020

Conversation

@eraserhd
Copy link
Contributor

eraserhd commented May 19, 2020

Darwin has a bug which affects the use of poll() with a tty fd,
which affects gambit's REPL when at a console, causing 100% CPU
usage.

Gambit recommends this is disabled on Darwin.

Motivation for this change

Make things work better on Mac OS.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@ofborg ofborg bot added the 6.topic: darwin label May 19, 2020
@eraserhd
Copy link
Contributor Author

eraserhd commented May 19, 2020

@fare @7c6f434c ^^. Hopefully, this is an easy one.

@fare
Copy link
Contributor

fare commented May 19, 2020

LGTM

@emilazy
Copy link
Member

emilazy commented May 19, 2020

Note that epoll isn't the same as poll. epoll is a more elaborate Linux-specific API, whereas poll is standard POSIX; since this is Darwin it's presumably the latter being referenced here, and Gambit's configure.ac seems to confirm that. The commit message should probably be updated.

@eraserhd eraserhd force-pushed the eraserhd:gerbil-no-poll-on-darwin branch from 547cb0c to 54551ad May 19, 2020
@eraserhd
Copy link
Contributor Author

eraserhd commented May 19, 2020

@emilazy oh, interesting! Commit message is updated.

@eraserhd eraserhd changed the title gambit: disable use of epoll() on Darwin gambit: disable use of poll() on Darwin May 19, 2020
Darwin has a bug which affects the use of poll() with a tty fd,
which affects gambit's REPL when at a console, causing 100% CPU
usage.

Gambit recommends this is disabled on Darwin.
@eraserhd eraserhd force-pushed the eraserhd:gerbil-no-poll-on-darwin branch from 54551ad to 4f92c8d May 19, 2020
@thoughtpolice thoughtpolice merged commit 61335d5 into NixOS:master May 19, 2020
16 checks passed
16 checks passed
Evaluation Performance Report Evaluator Performance Report
Details
gambit, gambit.passthru.tests on aarch64-linux Success
Details
gambit, gambit.passthru.tests on x86_64-linux Success
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="4f92c8d"; rev="4f92c8d21934052dd86d8a8fa1390be31eeb844b"; } ./pkgs/t
Details
grahamcofborg-eval-lib-tests nix-build --arg pkgs import ./. {} ./lib/tests/release.nix
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="4f92c8d"; rev="4f92c8d21934052dd86d8a8fa1390be31eeb844b"; } ./nixos/
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="4f92c8d"; rev="4f92c8d21934052dd86d8a8fa1390be31eeb844b"; } ./nixos/
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="4f92c8d"; rev="4f92c8d21934052dd86d8a8fa1390be31eeb844b"; } ./nixos/
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="4f92c8d"; rev="4f92c8d21934052dd86d8a8fa1390be31eeb844b"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="4f92c8d"; rev="4f92c8d21934052dd86d8a8fa1390be31eeb844b"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="4f92c8d"; rev="4f92c8d21934052dd86d8a8fa1390be31eeb844b"; } ./pkgs/t
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.