Bug #97150 | rwlock: refine lock->recursive with C11 atomics | ||
---|---|---|---|
Submitted: | 9 Oct 2019 1:37 | Modified: | 14 Feb 2020 15:52 |
Reporter: | Cai Yibo (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S5 (Performance) |
Version: | 8.0 | OS: | Any |
Assigned to: | CPU Architecture: | ARM | |
Tags: | Contribution |
[9 Oct 2019 1:37]
Cai Yibo
[9 Oct 2019 1:40]
Cai Yibo
patch (*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.
Contribution: 0001-rwlock-refine-lock-recursive-with-C-11-atomics.patch (text/x-patch), 9.23 KiB.
[9 Oct 2019 12:02]
MySQL Verification Team
Hi Mr. Yibo, Thank you for your bug report. I have analysed your patch and concluded that it is very useful for the ARM platform. Verified as reported.
[14 Feb 2020 15:52]
Daniel Price
Posted by developer: Fixed as of the upcoming 8.0.20 release, and here's the changelog entry: Read-write lock code (rw_lock_t) that controls ordering of access to the boolean recursive flag and the writer thread ID using GCC builtins or os_mutex when the builtins are not available, was revised to use C++ std::atomic in some instances.
[14 Feb 2020 15:53]
MySQL Verification Team
Thank you, Daniel.
[19 Feb 2020 19:36]
Daniel Price
Posted by developer: Contribution from Cai Yibo is noted in the changelog entry.
[18 May 2022 2:50]
Jack Dong
The problem exists on the 5.7.31 ARM platform, and we look forward to merging into the 5.7 version
[18 May 2022 11:59]
MySQL Verification Team
Hi Mr. dong, It has yet to be decided whether this could be ported to the latest 5.7. It depends on the existing infrastructure in 5.7 and on the code organisation.