On 07/25/16 08:14, Richard Biener wrote:

There's pthread_detach () - do we wrap that appropriately?  That said, another
way to make counters thread-safe is to allocate per-thread counters and update
those (for example by making the counters __TLS).  The interesting part is then
to merge them with the main set of counters during thread exit (properly locked
or atomically of course).  This would also solve the above mentioned issue but
have quite a cost on the memory side.

I'm not aware of any of the pthread fns being wrapped. (IIRC it's fork, execFOO and exit).

As you say, having TLS counters would increase memory, but I have no feel for the relative increase it might be in codebases it'd affect. Compute-wise it's probably no more expensive than using atomic adds, probably cheaper, if the atomic ops are fn calls.

nathan

Reply via email to