https://github.com/python/cpython/commit/6acf7776ef8e0f08e1d4b4b5511bea8d716f571f
commit: 6acf7776ef8e0f08e1d4b4b5511bea8d716f571f
branch: main
author: Victor Stinner <vstin...@python.org>
committer: vstinner <vstin...@python.org>
date: 2024-06-17T16:08:05Z
summary:

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.

files:
M Tools/wasm/wasi.py
M Tools/wasm/wasm_build.py
M configure
M configure.ac

diff --git a/Tools/wasm/wasi.py b/Tools/wasm/wasi.py
index efb005e53ab989..f69299fd662806 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 47a0abb8b5feef..bcb80212362b71 100755
--- a/Tools/wasm/wasm_build.py
+++ b/Tools/wasm/wasm_build.py
@@ -329,7 +329,7 @@ def _check_wasi() -> None:
         # 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"
diff --git a/configure b/configure
index 4174633b51c30a..003f68afae2cab 100755
--- a/configure
+++ b/configure
@@ -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 d34ade389cf40c..f9612b3275d3f0 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"])
   ]
 )
 

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to