Increase jemalloc page size on arm64
What does this MR do?
Some of the new arm64 distros use kernels with larger pagesizes. Because we compile omnibus on arm64 on a debian selected kernel (regardless of the docker image distro), we can run into issues with jemalloc being compiled for the wrong default pagesize.
Jemalloc supports using a smaller runtime page size than it was compiled with. So we simply always increase the page-size on arm64.
Otherwise rhel arm64 distros will not be able to run any arm64 packages (through docker for example), even one compiled by our centos/rhel docker omnibus builder images.
The error looks like:
* RuntimeError occurred in Chef Infra Client run: redis_service[redis] (redis::enable line 19) had an error: RuntimeError: ruby_block[warn pending redis restart] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/redis/resources/service.rb line 65) had an error: RuntimeError: Execution of the command `/opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket INFO` failed with a non-zero exit code (1)
stdout:
stderr: <jemalloc>: Unsupported system page size
Related issues
Found during testing of an centos8 arm package: !4743 (merged)
Related upstream issues:
- jemalloc - https://github.com/jemalloc/jemalloc/issues/467
- redis docker image - https://github.com/docker-library/redis/issues/208
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion
Required
-
Merge Request Title, and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
Pipeline is green on dev.gitlab.org if the change is touching anything besides documentation or internal cookbooks -
trigger-package
has a green pipeline running against latest commit
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for the GitLab Chart opened