-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Update jemalloc to version 5.3.0 #1337
base: main
Are you sure you want to change the base?
Conversation
This will need an update post 5680cf6 |
4f38fdb
to
1651dae
Compare
|
We'll need an exp run and this needs to be redone as a vendor branch update (which I'm on the hook for)..... |
@bsdimp I don't have src commit bit which is required for vendor import. Can you import jemalloc 5.3.0 in |
I'll import the 5.3.0 into vendor/jemalloc, but it appears that doesn't exist yet, so I'll need to look closely at what needs to happen to make it happen. Looks like it's never really been imported via the svn vendor tree. I need to go study this more closely to know the right thing to import. Sorry this is taking so long |
Yeah sorry that I was also occupied by other things. I got some issues when testing this on arm64 (not related to jemalloc but arm64 itself). I'll work on test this in amd64 and arm64. |
1651dae
to
1293142
Compare
Reflected upstream changes by rebasing main. 5.3.0 vendor import is required. |
Thanks for the rebase. So far I've done this by checking out the 5.3.0 tag in a git tree, copying all the files over to my vendor import tree, then running
and copying everything over. But, it looks like the various .sh -> .h scripts didn't get run quite right. I'm seeing issues with the fact that pthread_np.h is included inside a 'namespace.h' block, but we unnamespace before we build jemalloc.c (still looking into how we do that). I do see that setting JEMALLOC_HAVE_SCHED_* defines in my tree lets it compile. So understanding how you got here is going to be critical if we ever want to update it again in the future. |
@bsdimp I used |
Where did you get the tree you used for the upstream part of that? Oh, I didn't see you'd updated it... I need to study it a bit... But it does look like it will answer many of my questions I think... There's stuff I still don't quite understand, but I'd like to get to the bottom of it all so that I can get the right stuff into the 'update the vendor branch' stuff since that's typically how we've updated things since the migration to git. It's also providing a much higher level of confidence for me that there's nothing rogue in this update (not that I suspect you personally, but after xz I have to make sure that my trust isn't misplaced since a tiny number of people spoil the fun for everyone else). |
https://reviews.freebsd.org/D41461 might be related to this issue. |
ef5b3b6
to
ce5555a
Compare
Summary: jemalloc 5.3.0 was released in 2022 but has not been imported into FreeBSD base system yet. The new version of jemalloc includes new features and bug fixes which are listed on [[ https://github.com/jemalloc/jemalloc/releases/tag/5.3.0 | release note ]]. Test Plan: ``` cd lib/libc make cd /usr/src/ make buildworld && make installworld ``` then reboot and test several programs and applications Reviewers: #contributor_reviews_src, vangyzen Subscribers: jasone, vangyzen, instructionset_gmail.com, jrtc27, brooks, gbe, emaste, lwhsu, #contributor_reviews_src, imp Tags: #contributor_reviews_src Differential Revision: https://reviews.freebsd.org/D41421
Move to Github PR by @bsdimp 's request through freebsd-current mailiing list.
Phabricator review
jemalloc 5.3.0 was released in 2022 but has not been imported into FreeBSD base system yet. The new version of jemalloc includes new features and bug fixes which are listed on release note.