-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 10.0.9
-
Fix Version/s: 10.0.10
-
Component/s: None
-
Labels:None
tc_acquire_table and tc_release_table are critical sections of table cache. Among other things, they update TABLE_SHARE::tdc.free_tables:
tc_acquire_table - pop TABLE object from free_tables
tc_release_table - push TABLE object to free_tables
Updating free_tables list is protected by global mutex. Since free_tables is per-share list we can protect it by per-share mutex instead.
This is simple intermediate change that improves table cache scalability in many loads.
- relates to
-
MDEV-7292 Table_open_cache scalability issues
-
- Closed
-
-
MDEV-4702 Reduce usage of LOCK_open
-
- Closed
-
-
MDEV-4956 Reduce usage of LOCK_open: TABLE_SHARE::tdc.used_tables
-
- Closed
-
-
MDEV-5388 Reduce usage of LOCK_open: unused_tables
-
- Closed
-
-
MDEV-5403 Reduce usage of LOCK_open: tc_count
-
- Closed
-
-
MDEV-5492 Reduce usage of LOCK_open: TABLE::in_use
-
- Closed
-
-
MDEV-5597 Reduce usage of LOCK_open: LOCK_flush
-
- Closed
-