[core] Reduce lock contention in TUrl::GetSpecialProtocols().#6857
[core] Reduce lock contention in TUrl::GetSpecialProtocols().#6857Axel-Naumann merged 1 commit intoroot-project:masterfrom
Conversation
|
Starting build on |
cb64bbb to
b0a64e9
Compare
|
Starting build on |
b0a64e9 to
d8a6f57
Compare
|
Starting build on |
|
Build failed on ROOT-debian10-i386/cxx14. Errors:
|
|
Build failed on mac1015/cxx17. Failing tests: |
|
...assuming the i386 failure is spurious... |
|
No, if both thread arrive at the lock at the same time (with usedEnv==false).
On 11/23/20 2:08 AM, Axel Naumann wrote:
@Axel-Naumann commented on this pull request.
________________________________
In core/base/src/TUrl.cxx<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_root-2Dproject_root_pull_6857-23discussion-5Fr528523942&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=UWfwI6PGOKY1hmtnuMh4_A&m=ukfUznEXjXBdxDymQ6EAmLvJOoEkGLJ5U7MGPdhKPFA&s=co6lV5rF4ChE-w-mEfaE-93x95PezBrxdUj5efG1DSQ&e=>:
if (fgSpecialProtocols)
fgSpecialProtocols->Delete();
if (!fgSpecialProtocols)
fgSpecialProtocols = new TObjArray;
const char *protos = gEnv->GetValue("Url.Special", "file: hpss: dcache: dcap:");
- usedEnv = kTRUE;
+ usedEnv = true;
Doesn't the R__LOCKGUARD(gROOTMutex); a few lines above (line 589 in the new file) prevent that?
|
|
Indeed, which is why I removed my wrong comment and fixed the code! :-) |
This covers the changes in root-project#6857 root-project#7105 root-project#7260
This covers the changes in root-project#6857 root-project#7105 root-project#7260
This covers the changes in root-project#6857 root-project#7105 root-project#7260
Fixes MT overhead of TChain::Add