Status: Closed (View Workflow)
As requested in
MDEV-27936, s390x for transactional memory of s390 was requested.
In going far to much in the fix for
MDEV-27936 the branch containing this was developed.
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:
- compatible with non-linux (BSDs)
- compatible with s390x
- The innodb implementation uses transactions without syscalls (please validate this closely that no syscall gets called from under transactional_shared_lock_guard), the feature detection of the suspend mode (not explicitly used, and please don't) and operation system call interface, is overly strict.
- the s390x tm begin implementation defaults to no floats. I assume because I haven't looked at the ISA, that this means that any use of floats under HTM won't get restored on tabort. Is there consequences here?
If all these are moderately on track, what version should the transactional_lock_enabled go into?
- relates to
MDEV-28137 Some memory transactions are unnecessarily complex
MDEV-29324 Compile error in debug mode on s390x (srw_lock.cc)