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

[AARCH64] jemalloc: explicitly set pagesize #9243

Merged
merged 1 commit into from
Jun 12, 2024

Conversation

iarspider
Copy link
Contributor

On GRID nodes, pagesize is set to 4096, while on lxplus-arm and vocms-arm it is 65536. If jemalloc was built on GRID node, using it on lxplus or vocms will cause failures (e.g.):

<jemalloc>: Unsupported system page size

From install.MD for jemalloc:

--with-lg-page: Specify the base 2 log of the allocator page size, which must in turn be at least as large as the system page size.

Notice that this change may cause performance issues, see e.g. discussion here: jemalloc/jemalloc#2639 (comment)

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @iarspider for branch IB/CMSSW_14_1_X/master.

@aandvalenzuela, @iarspider, @cmsbuild, @smuzaffar can you please review it and eventually sign? Thanks.
@sextonkennedy, @rappoccio, @antoniovilela you are the release manager for this.
cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 12, 2024

cms-bot internal usage

@iarspider
Copy link
Contributor Author

@fwyzard FYI

@iarspider
Copy link
Contributor Author

please test for el8_aarch64_gcc12

@cmsbuild
Copy link
Contributor

-1

Failed Tests: Build
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6e7fd4/39849/summary.html
COMMIT: 4a35429
CMSSW: CMSSW_14_1_X_2024-06-11-2300/el8_aarch64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmsdist/9243/39849/install.sh to create a dev area with all the needed externals and cmssw changes.

Build

I found compilation error when building:

src/FWCore/Concurrency/interface/chain_first.h:138:23:   required from 'constexpr void edm::waiting_task::detail::RunLastAdaptor::pipe(edm::waiting_task::detail::WaitingTaskChain&&) [with T = {edm::beginStreamTransitionAsync >(WaitingTaskHolder, Schedule&, unsigned int, OccurrenceTraits::TransitionInfoType&, const ServiceToken&, std::vector&)::, edm::waiting_task::detail::AutoExceptionHandler >(WaitingTaskHolder, Schedule&, unsigned int, OccurrenceTraits::TransitionInfoType&, const ServiceToken&, std::vector&):: >}]'
src/FWCore/Concurrency/interface/chain_first.h:203:23:   required from 'auto edm::waiting_task::detail::operator|(WaitingTaskChain, V&&) [with V = RunLastAdaptor; U = edm::beginStreamTransitionAsync >(WaitingTaskHolder, Schedule&, unsigned int, OccurrenceTraits::TransitionInfoType&, const ServiceToken&, std::vector&)::; T = {AutoExceptionHandler >(WaitingTaskHolder, Schedule&, unsigned int, OccurrenceTraits::TransitionInfoType&, const ServiceToken&, std::vector&):: >}]'
src/FWCore/Framework/interface/streamTransitionAsync.h:93:16:   required from 'void edm::beginStreamTransitionAsync(WaitingTaskHolder, Schedule&, unsigned int, typename Traits::TransitionInfoType&, const ServiceToken&, std::vector&) [with Traits = OccurrenceTraits; typename Traits::TransitionInfoType = RunTransitionInfo]'
src/FWCore/Framework/interface/streamTransitionAsync.h:105:41:   required from 'void edm::beginStreamsTransitionAsync(WaitingTaskHolder, Schedule&, unsigned int, typename Traits::TransitionInfoType&, const ServiceToken&, std::vector&) [with Traits = OccurrenceTraits; typename Traits::TransitionInfoType = RunTransitionInfo]'
src/FWCore/TestProcessor/src/TestProcessor.cc:473:44:   required from here
src/FWCore/Framework/interface/StreamSchedule.h:369:10: error: variable 'id' set but not used [-Werror=unused-but-set-variable]
  369 |     auto id = principal.id();
      |          ^~
src/FWCore/Framework/interface/StreamSchedule.h: In instantiation of 'void edm::StreamSchedule::processOneStreamAsync(edm::WaitingTaskHolder, typename T::TransitionInfoType&, const edm::ServiceToken&, bool) [with T = edm::OccurrenceTraits; typename T::TransitionInfoType = edm::LumiTransitionInfo]':
src/FWCore/Framework/interface/Schedule.h:340:58:   required from 'void edm::Schedule::processOneStreamAsync(edm::WaitingTaskHolder, unsigned int, typename T::TransitionInfoType&, const edm::ServiceToken&, bool) [with T = edm::OccurrenceTraits; typename T::TransitionInfoType = edm::LumiTransitionInfo]'
src/FWCore/Framework/interface/streamTransitionAsync.h:75:7:   required from 'edm::beginStreamTransitionAsync >(WaitingTaskHolder, Schedule&, unsigned int, OccurrenceTraits::TransitionInfoType&, const ServiceToken&, std::vector&):: [with auto:40 = edm::WaitingTaskHolder]'


@iarspider
Copy link
Contributor Author

iarspider commented Jun 12, 2024

please test with cms-sw/cmssw#45205 for el8_aarch64_gcc12

@smuzaffar
Copy link
Contributor

+externals

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_14_1_X/master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @rappoccio, @sextonkennedy, @antoniovilela (and backports should be raised in the release meeting by the corresponding L2)
Notice This PR was tested with additional Pull Request(s), please also merge them if necessary: cms-sw/cmssw#45205

@smuzaffar smuzaffar merged commit 6ed8cf4 into IB/CMSSW_14_1_X/master Jun 12, 2024
9 checks passed
@smuzaffar smuzaffar deleted the jemalloc-arm-fix branch June 12, 2024 21:52
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.

3 participants