]> Cypherpunks repositories - gostls13.git/commit
syscall: implement rawVforkSyscall for linux/ppc64x and linux/s390x
authorJoel Sing <joel@sing.id.au>
Tue, 7 May 2019 07:56:49 +0000 (17:56 +1000)
committerJoel Sing <joel@sing.id.au>
Wed, 15 May 2019 18:12:10 +0000 (18:12 +0000)
commitab242dcbc92803788b135816823536c4007137e3
treee50ecb886fcadf648adf4777a69a2785f9ac5481
parent38431f1044880b936e35034ded19a6a8bc9faa21
syscall: implement rawVforkSyscall for linux/ppc64x and linux/s390x

This allows the use of CLONE_VFORK and CLONE_VM for fork/exec, preventing
"fork/exec ...: cannot allocate memory" failures from occuring when attempting
to execute commands from a Go process that has a large memory footprint.
Additionally, this should reduce the latency of fork/exec on these platforms.

The same problem was addressed on linux/amd64 via issue #5838.

Updates #31936

Change-Id: I7ae0fbbeaa29cab944a49a11272a380d497eb2d0
Reviewed-on: https://go-review.googlesource.com/c/go/+/175697
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/syscall/asm_linux_ppc64x.s
src/syscall/asm_linux_s390x.s
src/syscall/exec_linux.go
src/syscall/syscall_linux_ppc64x.go
src/syscall/syscall_linux_s390x.go