With the profile-sharing code enabled, the mutex protects the linked list of prf_data_t objects and their refcounts. However, once one of these objects has been acquired for a profile instance, it's used without locking. Mostly it's read-only access, but if the on-disk file has changed, the tree of nodes will be freed and rebuilt, with no mutex protection.