Use FUTEX_PRIVATE_FLAG in conjunction with the wait & wake operations
employed by BlockingMutex. As far as I can tell, the mutexes are
process-private, and there is an actual performance benefit at employing the
private operations. There should be no downside to switching to it.
Details
Details
Diff Detail
Diff Detail
- Repository
- rCRT Compiler Runtime
Event Timeline
Comment Actions
Have you noticed any difference in performance? I tried the same back in March I have not noticed any perf gain on the couple of benchmarks. I am merely curious, I think this is a right change to make anyways.
Comment Actions
The performance gain is noticeable with the shared TSD model for Scudo, in some of the most contentious scenario.
With rpc2-benchmark (async mode, no client/server thread limitation, 72-core machines, TSD pool size of 32) the average QPS over 10 runs jumps from 347K to 375K.
In other cases, the gains are more marginal.