Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-123923: Defer refcounting for f_executable in _PyInterpreterFrame #123924

Merged
merged 3 commits into from
Sep 12, 2024

Conversation

colesbury
Copy link
Contributor

@colesbury colesbury commented Sep 10, 2024

Use a _PyStackRef and defer the reference to f_executable when possible. This avoids some reference count contention in the common case of executing the same code object from multiple threads concurrently in the free-threaded build.

…terFrame`

Use a `_PyStackRef` and defer the reference to `f_executable` when
possible. This avoids some reference count contention in the common case
of executing the same code object from multiple threads concurrently in
the free-threaded build.
Copy link
Member

@Fidget-Spinner Fidget-Spinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I trust that you've run this with refleak tests? When I attempted this, there were a ton of refleaks.

Also one question. The rest looks good to me!

Objects/frameobject.c Show resolved Hide resolved
@colesbury colesbury added the 🔨 test-with-refleak-buildbots Test PR w/ refleak buildbots; report in status section label Sep 11, 2024
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @colesbury for commit 9e7691a 🤖

If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-refleak-buildbots Test PR w/ refleak buildbots; report in status section label Sep 11, 2024
Copy link
Member

@Fidget-Spinner Fidget-Spinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this makes sense now. Just one comment.

Modules/_testexternalinspection.c Outdated Show resolved Hide resolved
@colesbury colesbury merged commit b2afe2a into python:main Sep 12, 2024
53 of 57 checks passed
@colesbury colesbury deleted the gh-123923-frame-executable branch September 12, 2024 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants