-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
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
Mimalloc differences from upstream #113141
Comments
Hmm, how about generating patchfiles and storing them somewhere in the repository for records? :) |
And which commit is our mimalloc baseline code? |
cc @DinoV |
That sounds painful to maintain. I would prefer to have a process to upstream changes first (mimalloc), and then apply them downstream (Python). Here we wanted to move quickly to add mimalloc and fix all portability issues. But we should be more "upstream first" for following changes. |
Ah okay if they accept our changes, it looks reasonable. |
I created this issue in anticipation of further mimalloc changes. There will be changes to support GC in the I don't think it will be too hard to pull in new mimalloc versions. I've done it a few times in the nogil forks: diff vs. base to get patch file, patch new version, fix merge conflicts. We can write up the workflow, but I think automation is overkill at this point. I had a nice chat with Daan (mimalloc author) on Friday and we got a chance to discuss some (but not all) of the mimalloc changes to support GC. I think we'll be able to get changes merged upstream, but for non-trivial changes I think it's helpful to understand and be able to explain how APIs are used in CPython. Even if time were not an issue, I would not want to be in a situation where we propose something upstream and then it turns out we needed something slightly different. |
CC @daanx |
I have started upstreaming mimalloc specific modifications into mimalloc to make it easier to downstream future releases of mimalloc. The ideal goal would be to enable Python to pull in mimalloc with no further modifications -- let's see how far we can get. For now, I am documenting here which commits fix particular issues together with the version of mimalloc that will have these commits. (last update: 2024-06-03) Planned for v2.1.8Mimalloc changes to support GC
Mimalloc changes for lock-free reads (using QSBR)upstreamed in v2.1.7:Simple bug fixes
Mimalloc changes to support GC
|
For reference, just opened #121487 to address a deprecation warning with |
This issue tracks divergence in our copy of mimalloc from upstream https://github.com/microsoft/mimalloc. The purpose is to help with upstreaming fixes and also so that our modifications are not lost as we pull in new mimalloc versions.
base version: v2.1.2
Simple bug fixes
unused function
warnings during mimalloc build on FREEBSD #111907Py_Initialize
in background thread #123052 (May be specific to CPython's usage)Mimalloc changes to support GC
Mimalloc changes for lock-free reads (using QSBR)
The text was updated successfully, but these errors were encountered: