This patch splits the single global InnoDB buffer pool mutex into several mutexes for different purposes. This reduces mutex contention. It may help if you suffer performance loss when the working set does not fit in memory. You can detect buffer pool mutex contention by examining the output of SHOW INNODB STATUS and looking at the first section, SEMAPHORES.
The single buf_pool_mutex are split into the followings
| Name | protects what |
|---|---|
| buf_pool_mutex | flags about IO |
| LRU_list_mutex | LRU list of blocks in buffer pool |
| flush_list_mutex | flush list of dirty blocks to flush |
| page_hash_latch | hash table to search blocks in buffer pool |
| free_list_mutex | list of free blocks in buffer pool |
| zip_free_mutex | lists of free area to treat compressed pages |
| zip_hash_mutex | hash table to search compressed pages |
Discussion
ty