[MDEV-5864] Reduce usage of LOCK_open: TABLE_SHARE::tdc.free_tables Created: 2014-03-14 Updated: 2014-12-08 Resolved: 2014-03-20 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 10.0.9 |
| Fix Version/s: | 10.0.10 |
| Type: | Bug | Priority: | Major |
| Reporter: | Sergey Vojtovich | Assignee: | Sergey Vojtovich |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| Description |
|
tc_acquire_table and tc_release_table are critical sections of table cache. Among other things, they update TABLE_SHARE::tdc.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. |
| Comments |
| Comment by Sergey Vojtovich [ 2014-03-15 ] |
|
Sergei, please review patch for this task. |
| Comment by Sergey Vojtovich [ 2014-03-20 ] |
|
Fixed in 10.0.10, revno: 4071, revision-id: svoj@mariadb.org-20140320071113-ql1nx7dc9h22odx3 |