[MDEV-27956] hardware lock elision on s390x / ppc64 detection improvements Created: 2022-02-28 Updated: 2022-08-18 Resolved: 2022-03-11 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Fix Version/s: | 10.6.8, 10.7.4, 10.8.3 |
| Type: | Task | Priority: | Minor |
| Reporter: | Daniel Black | Assignee: | Daniel Black |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||
| Description |
|
As requested in In going far to much in the fix for The first commit is probably a debian compiler downstream issue and will be omitted. marko, feedback on continuing aspects of this implementation requested please: For the rest of the s390x changes, target version 10.9? In making a common s390x/ppc64le htm detection I used a SIGILL based detection modeled of openssl. sigsetjmp not fully understood, seems to avoid SIGILL during testing, but scrutiny requested. Problems is solves are:
If all these are moderately on track, what version should the transactional_lock_enabled go into? |
| Comments |
| Comment by Marko Mäkelä [ 2022-03-08 ] | ||||||||||
|
I think that it should be fine to introduce the s390x lock elision in 10.6. The critical sections of lock elision should be very small, and I don’t think that they should include any floating-point operations. There should be no system calls either, except maybe for debug assertions that might call write() and abort(), should they hold. I tested the Intel TSX-NI implementation and paid attention to the tx-abort event counts reported by perf, and removed some too optimistic lock elision sections until I got it to a reasonable level. I think that on Intel TSX-NI, any system call would lead to memory transaction abort. | ||||||||||
| Comment by Daniel Black [ 2022-03-09 ] | ||||||||||
|
bb-10.6-danielblack-MDEV-27956-htm-s390x
s390x
| ||||||||||
| Comment by Daniel Black [ 2022-03-09 ] | ||||||||||
|
| ||||||||||
| Comment by Daniel Black [ 2022-03-10 ] | ||||||||||
|
|