[MDEV-23633] MY_RELAX_CPU performs unnecessary compare-and-swap on ARM Created: 2020-08-31 Updated: 2021-01-20 Resolved: 2020-09-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.2, 10.3, 10.4, 10.5 |
| Fix Version/s: | 10.4.16, 10.5.7 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | ARM, ARMv8, performance | ||
| Environment: |
ARMv8 |
||
| Attachments: |
|
||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
This is basically a re-request to fix According to krunalbauskar, this extra operation is visible in some benchmarks. |
| Comments |
| Comment by Krunal Bauskar [ 2020-08-31 ] | ||||||||||||||||||||||
|
Marko, On ARM as quoted on channel as per benchmarking switching to simple barrier (vs CAS) helps improve performance. | ||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2020-09-01 ] | ||||||||||||||||||||||
|
krunalbauskar, thank you. I think that I would make it conditional to minimize the impact on other architectures:
| ||||||||||||||||||||||
| Comment by Krunal Bauskar [ 2020-09-01 ] | ||||||||||||||||||||||
| ||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2020-09-01 ] | ||||||||||||||||||||||
|
The equivalent patch for 10.4 would be as follows. It should apply to 10.3 as well, but krunalbauskar is right, the performance impact could be a mixed bag, and we’d better limit us to newer versions. Besides, within the scope of
| ||||||||||||||||||||||
| Comment by Krunal Bauskar [ 2020-09-04 ] | ||||||||||||||||||||||
|