From d29dc7c80e58f7e6953e8b7b25fae68c4178dabc Mon Sep 17 00:00:00 2001 From: Tomasz Pytel Date: Mon, 14 Apr 2025 11:19:57 -0400 Subject: [PATCH 1/2] gh-132519: fix excessive mem usage in QSBR with large blocks --- Python/ceval_gil.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Python/ceval_gil.c b/Python/ceval_gil.c index a455779a6598e9..8ec0f0f677a517 100644 --- a/Python/ceval_gil.c +++ b/Python/ceval_gil.c @@ -1350,6 +1350,9 @@ _Py_HandlePending(PyThreadState *tstate) _Py_unset_eval_breaker_bit(tstate, _PY_EVAL_EXPLICIT_MERGE_BIT); _Py_brc_merge_refcounts(tstate); } + + /* Keep memory usage down if QSBR freeing large blocks. */ + _PyMem_ProcessDelayed(tstate); #endif /* GC scheduled to run */ From 4037c101e67474ede07f43d95718d8d522ce55fb Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 15:22:31 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20blu?= =?UTF-8?q?rb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2025-04-14-15-22-30.gh-issue-132519.Ngn0__.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2025-04-14-15-22-30.gh-issue-132519.Ngn0__.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-04-14-15-22-30.gh-issue-132519.Ngn0__.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-04-14-15-22-30.gh-issue-132519.Ngn0__.rst new file mode 100644 index 00000000000000..f8c1bb77770225 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2025-04-14-15-22-30.gh-issue-132519.Ngn0__.rst @@ -0,0 +1 @@ +Fix excessive memory usage when freeing large blocks via QSBR in :term:`free-threaded ` build.