[MDEV-5492] Reduce usage of LOCK_open: TABLE::in_use Created: 2013-12-27 Updated: 2016-06-28 Resolved: 2016-06-28 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | OTHER |
| Fix Version/s: | N/A |
| Type: | Task | Priority: | Major |
| Reporter: | Sergey Vojtovich | Assignee: | Sergey Vojtovich |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| Sprint: | 10.2.1-3, 10.2.1-4, 10.2.1-5 | ||||||||||||||||||||||||||||||||
| Description |
|
tc_acquire_table and tc_release_table are critical sections of table cache. Among other things, they update TABLE::in_use: Normally table->in_use is only accessed/modified by thread that owns this table instance, which means access to this variable doesn't really need to be synchronized. There are a few exception though when foreign threads may read this variable:
There are a few options how we can synchronize access to this variable:
|
| Comments |
| Comment by Sergey Vojtovich [ 2013-12-27 ] |
|
Sergei, please review patch for this task. |
| Comment by Sergey Vojtovich [ 2014-02-13 ] |
|
Pushed to 10.0.9, revno: 4004, revision-id: svoj@mariadb.org-20140213064410-c4a589vn86iphxri |
| Comment by Sergey Vojtovich [ 2016-05-13 ] |
|
serg, please review top 3 patches in bb-10.2-mdev5492. |
| Comment by Sergey Vojtovich [ 2016-06-28 ] |
|
Should not be needed with multi-instance table cache. |