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
fix thread safety in steppingHelixPropagator (supersede #3160) #3196
fix thread safety in steppingHelixPropagator (supersede #3160) #3196
Conversation
Removed mutables in SteppingHelixPropagator and instead put those data items on the stack when doing the operations.
This change avoids returning a copy and instead taking the value by argument. This only affects the methods new to SteppingHelixPropagator.
A new Pull Request was created by @slava77 (Slava Krutelyov) for CMSSW_7_1_X. fix thread safety in steppingHelixPropagator (supersede #3160) It involves the following packages: Calibration/HcalAlCaRecoProducers @diguida, @lveldere, @cmsbuild, @anton-a, @thspeer, @rcastello, @giamman, @slava77, @Degano, @nclopezo can you please review it and eventually sign? Thanks. |
This PR will not make it to pre6. |
@@ -36,6 +36,22 @@ | |||
#include <sstream> | |||
#include <typeinfo> | |||
|
|||
void SteppingHelixPropagator::initStateArraySHPSpecific(StateArray& svBuf, bool flagsOnly) const{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had hoped this wouldn't be necessary since I had hoped that anytime a new entry in the array was used it was first cleared. Oh well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, apparently the defaults for the propagator internals and the defaults created outside the propagator are different.
I don't quite remember all the logic behind it.
So, the solution is just to preserve the logic.
This time the comparision looks dead on. |
you mean jenkins? I'm guessing the stats in jenkins tests are too low to detect problems in this case. (In fact, I'm still suspicious of these relmon comparisons: on several occasions I observed serious regressions while jenkins reported zero changes; |
+1 for #3196 cdcb8d0 tested in CMSSW_7_1_X_2014-04-02-0200 test area sign333a. |
+1 |
+1 |
…readSafe Multithreading -- Fix thread safety in steppingHelixPropagator (supersede #3160)
…-shpThreadSafe Multithreading -- Fix thread safety in steppingHelixPropagator (supersede cms-sw#3160)
(by Chris) Removed mutables in SteppingHelixPropagator and instead put those data items on the stack when doing the operations.