diff options
author | Sam Gross <colesbury@gmail.com> | 2024-02-16 20:25:19 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-16 20:25:19 (GMT) |
commit | 590319072773bd6cdcca655c420d3adb84838e96 (patch) | |
tree | b2e7ec5cb49ef21d0fe9f35b9f32d69e8578fb86 /Include/internal/pycore_interp.h | |
parent | 711f42de2e3749208cfa7effa0d45b04e4e1fdd4 (diff) | |
download | cpython-590319072773bd6cdcca655c420d3adb84838e96.zip cpython-590319072773bd6cdcca655c420d3adb84838e96.tar.gz cpython-590319072773bd6cdcca655c420d3adb84838e96.tar.bz2 |
gh-115103: Implement delayed memory reclamation (QSBR) (#115180)
This adds a safe memory reclamation scheme based on FreeBSD's "GUS" and
quiescent state based reclamation (QSBR). The API provides a mechanism
for callers to detect when it is safe to free memory that may be
concurrently accessed by readers.
Diffstat (limited to 'Include/internal/pycore_interp.h')
-rw-r--r-- | Include/internal/pycore_interp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Include/internal/pycore_interp.h b/Include/internal/pycore_interp.h index c074471..567d6a9 100644 --- a/Include/internal/pycore_interp.h +++ b/Include/internal/pycore_interp.h @@ -30,6 +30,7 @@ extern "C" { #include "pycore_mimalloc.h" // struct _mimalloc_interp_state #include "pycore_object_state.h" // struct _py_object_state #include "pycore_obmalloc.h" // struct _obmalloc_state +#include "pycore_qsbr.h" // struct _qsbr_state #include "pycore_tstate.h" // _PyThreadStateImpl #include "pycore_tuple.h" // struct _Py_tuple_state #include "pycore_typeobject.h" // struct types_state @@ -197,6 +198,7 @@ struct _is { struct _warnings_runtime_state warnings; struct atexit_state atexit; struct _stoptheworld_state stoptheworld; + struct _qsbr_shared qsbr; #if defined(Py_GIL_DISABLED) struct _mimalloc_interp_state mimalloc; |