diff options
author | Victor Stinner <vstinner@python.org> | 2024-06-17 16:08:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-17 16:08:05 (GMT) |
commit | 6acf7776ef8e0f08e1d4b4b5511bea8d716f571f (patch) | |
tree | aef1d1401319629eddaf82666ed8adbadc2d3466 | |
parent | 0506f75c53ce0895408050ededcfb66bc07eb19b (diff) | |
download | cpython-6acf7776ef8e0f08e1d4b4b5511bea8d716f571f.zip cpython-6acf7776ef8e0f08e1d4b4b5511bea8d716f571f.tar.gz cpython-6acf7776ef8e0f08e1d4b4b5511bea8d716f571f.tar.bz2 |
gh-120507: Double WASI memory (#120648)
Use 16 MiB stack with 40 MiB memory limit, instead of 8 MiB stack
with 20 MiB memory limit.
-rw-r--r-- | Tools/wasm/wasi.py | 5 | ||||
-rwxr-xr-x | Tools/wasm/wasm_build.py | 2 | ||||
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | configure.ac | 6 |
4 files changed, 8 insertions, 9 deletions
diff --git a/Tools/wasm/wasi.py b/Tools/wasm/wasi.py index efb005e..f69299f 100644 --- a/Tools/wasm/wasi.py +++ b/Tools/wasm/wasi.py @@ -280,9 +280,8 @@ def main(): default_host_runner = (f"{shutil.which('wasmtime')} run " # Make sure the stack size will work for a pydebug # build. - # The 8388608 value comes from `ulimit -s` under Linux - # which equates to 8291 KiB. - "--wasm max-wasm-stack=8388608 " + # Use 16 MiB stack. + "--wasm max-wasm-stack=16777216 " # Use WASI 0.2 primitives. "--wasi preview2 " # Enable thread support; causes use of preview1. diff --git a/Tools/wasm/wasm_build.py b/Tools/wasm/wasm_build.py index 47a0abb..bcb8021 100755 --- a/Tools/wasm/wasm_build.py +++ b/Tools/wasm/wasm_build.py @@ -329,7 +329,7 @@ WASI = Platform( # workaround for https://github.com/python/cpython/issues/95952 "HOSTRUNNER": ( "wasmtime run " - "--wasm max-wasm-stack=8388608 " + "--wasm max-wasm-stack=16777216 " "--wasi preview2 " "--dir {srcdir}::/ " "--env PYTHONPATH=/{relbuilddir}/build/lib.wasi-wasm32-{version}:/Lib" @@ -7758,7 +7758,7 @@ then : fi ;; #( WASI/*) : - HOSTRUNNER='wasmtime run --wasm max-wasm-stack=8388608 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/' ;; #( + HOSTRUNNER='wasmtime run --wasm max-wasm-stack=16777216 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/' ;; #( *) : HOSTRUNNER='' ;; @@ -9560,7 +9560,7 @@ then : fi - as_fn_append LDFLAGS_NODIST " -z stack-size=8388608 -Wl,--stack-first -Wl,--initial-memory=20971520" + as_fn_append LDFLAGS_NODIST " -z stack-size=16777216 -Wl,--stack-first -Wl,--initial-memory=41943040" ;; #( *) : diff --git a/configure.ac b/configure.ac index d34ade3..f9612b3 100644 --- a/configure.ac +++ b/configure.ac @@ -1609,7 +1609,7 @@ then dnl TODO: support other WASI runtimes dnl wasmtime starts the proces with "/" as CWD. For OOT builds add the dnl directory containing _sysconfigdata to PYTHONPATH. - [WASI/*], [HOSTRUNNER='wasmtime run --wasm max-wasm-stack=8388608 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/'], + [WASI/*], [HOSTRUNNER='wasmtime run --wasm max-wasm-stack=16777216 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/'], [HOSTRUNNER=''] ) fi @@ -2403,10 +2403,10 @@ AS_CASE([$ac_sys_system], AS_VAR_APPEND([LDFLAGS_NODIST], [" -Wl,--max-memory=10485760"]) ]) - dnl gh-117645: Set the memory size to 20 MiB, the stack size to 8 MiB, + dnl gh-117645: Set the memory size to 40 MiB, the stack size to 16 MiB, dnl and move the stack first. dnl https://github.com/WebAssembly/wasi-libc/issues/233 - AS_VAR_APPEND([LDFLAGS_NODIST], [" -z stack-size=8388608 -Wl,--stack-first -Wl,--initial-memory=20971520"]) + AS_VAR_APPEND([LDFLAGS_NODIST], [" -z stack-size=16777216 -Wl,--stack-first -Wl,--initial-memory=41943040"]) ] ) |