Details
-
Type:
Task
-
Status: Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Fix Version/s: 10.1
-
Component/s: None
-
Labels:None
Description
- Add status variable for expensive table cache evictions (from tc_add_table()).
- Add status variable for cheap table cache evictions (from tc_release_table()).
- Expensive eviction: evict 10 (or 20, or 100, or 10%) tables at once.
Use recently implemented Atomic class for all atomic variables.(Atomic class was declined)- Make sure LOCK_open is on a separate cache line (at least until it is used by tc_release_table()). It was seen to cause false sharing with tc_count at least.
- Add an inline getter method TABLE::in_use() that in debug builds will assert: DBUG_ASSERT(table->in_use == current_thd || (table->s->flushed && table->in_use))
- ha_table_exists() - instead of calling tdc_lock_share()/tdc_unlock_share() do hash lookup.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions