Details
-
Enhancement
-
Resolution: Fixed
-
P4
-
13
-
b05
Description
There exists a PackageEntryTable::locked_create_entry_or_null that assumes Module_lock is held by the thread, but this calls PackageEntry::lookup_only which does MutexLockerEx ml(Module_lock->owned_by_self() ? NULL : Module_lock); -- accessing Module_lock->owned_by_self() repeatedly adds up to a measurable cost during startup.
While making the code lock-free could ultimately be profitable, we could at least streamlined accesses so that we avoid unnecessary owned_by_self checks.
While making the code lock-free could ultimately be profitable, we could at least streamlined accesses so that we avoid unnecessary owned_by_self checks.