[MDEV-26609] Avoid deriving ELEMENT_PER_LATCH from cacheline Created: 2021-09-15 Updated: 2021-09-17 Resolved: 2021-09-17 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Fix Version/s: | 10.6.5, 10.7.0 |
| Type: | Task | Priority: | Minor |
| Reporter: | Krunal Bauskar | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | ARM | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
---------- |
| Comments |
| Comment by Krunal Bauskar [ 2021-09-15 ] |
|
patch submitted through the pr: https://github.com/MariaDB/server/pull/1910 |
| Comment by Marko Mäkelä [ 2021-09-16 ] |
|
I see that the cache line size is 128 bytes also on POWER, and 256 bytes on s390x. I hope that danblack can assess the performance impact on those architectures. In 10.6, there is also lock_sys_t::hash_table::ELEMENTS_PER_LATCH that we may want to change in the same way. This change would not affect AMD64 or IA-32 or other systems where the cache line size is 64 bytes. |
| Comment by Krunal Bauskar [ 2021-09-17 ] |
|
As suggested, I tried extending the patch to lock_sys::hash_table and continued to observe a performance difference. Improvement for read-write is 5-6%. Check the attached graph. |