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

Fix issue 21089: spawn linker with vfork to avoid need to overcommit memory #11497

Conversation

FeepingCreature
Copy link
Contributor

@FeepingCreature FeepingCreature commented Aug 3, 2020

DMD is large, ld is small.

Replaces #11476 as it is simpler and offers better error reporting.

vfork is removed from POSIX-2008, but it's not like it'll ever actually be removed from implementations, since it's easy to provide and other nondeprecated functions still use the mechanism.

@dlang-bot
Copy link
Contributor

dlang-bot commented Aug 3, 2020

Thanks for your pull request and interest in making D better, @FeepingCreature! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Auto-close Bugzilla Severity Description
21089 minor With vm.overcommit_memory=0, DMD can't link if it uses more than half the total (ram+swap) memory in the system.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#11497"

@FeepingCreature FeepingCreature force-pushed the fix/issue-21089-spawn-linker-with-vfork branch from a05aee9 to 8f69125 Compare August 3, 2020 10:51
@FeepingCreature FeepingCreature changed the title Spawn linker with vfork to avoid need to overcommit memory Fix issue 21089: spawn linker with vfork to avoid need to overcommit memory Aug 3, 2020
src/dmd/link.d Show resolved Hide resolved
@FeepingCreature FeepingCreature force-pushed the fix/issue-21089-spawn-linker-with-vfork branch from 8f69125 to e1676c4 Compare August 3, 2020 10:57
@FeepingCreature FeepingCreature force-pushed the fix/issue-21089-spawn-linker-with-vfork branch from e1676c4 to c7aef70 Compare August 3, 2020 11:10
@dlang-bot dlang-bot merged commit bab39b6 into dlang:master Aug 3, 2020
@FeepingCreature FeepingCreature deleted the fix/issue-21089-spawn-linker-with-vfork branch August 3, 2020 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants