-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Prepare for concurrent IOVs, L1ConfigOnlineProdBase #25464
Prepare for concurrent IOVs, L1ConfigOnlineProdBase #25464
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25464/7555 |
A new Pull Request was created by @wddgit (W. David Dagenhart) for master. It involves the following packages: CondTools/L1Trigger @ggovi, @rekovic, @cmsbuild, @thomreis, @nsmith- can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
This PR changes the return type of "produce" functions in ESProducers from shared_ptr to unique_ptr. This will help as we migrate towards running multiple IOVs concurrently, because ESProducers that actually share and reuse the memory need special treatment to work properly when multiple IOVs are processed concurrently. In all the cases modified here, the memory is not actually shared and reused. A unique_ptr will work just as well as a shared_ptr. By making this change, it makes it easier now and in the future to identify and take special care of the ESProducers that actually do share and reuse memory, because there are not actually very many of them. In addition, performance is slightly better with unique_ptr's than shared_ptr's.
This PR modifies L1ConfigOnlineProdBase and L1ConfigOnlineProdBaseExt and all the ESProducers that inherit from them.
(Note that previously PR #25037 was rejected and closed, then split into 3 different PRs. The first two of those PRs included all the changes in CondCore and have now already been merged. This is the 3rd of those PRs and includes only the changes from that PR outside CondCore. But other than that, it is the same as the original PR)
There is also a little bit of cleanup, like deleting unused "using" statements around the lines of code modified. And also some unrelated changes added by "scram b code-checks".