Bug #100132 | Using optimal memory-barrier (in form of acquire/release) for event-mutex | ||
---|---|---|---|
Submitted: | 7 Jul 2020 5:13 | Modified: | 22 Sep 2020 3:47 |
Reporter: | Krunal Bauskar | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S5 (Performance) |
Version: | 8.0.20 | OS: | Any |
Assigned to: | CPU Architecture: | ARM | |
Tags: | event-mutex, memory-barrier, performance |
If the data you need to attach is more than 3MB, you should create
a compressed archive of the data and a README file that describes the data
with a filename that includes the bug number (recommended filename:
mysql-bug-data-100132.zip
) and upload one to sftp.oracle.com.
A free Oracle Web (SSO) account (the one you use to login bugs.mysql.com)
and a client that supports SFTP are required in order to access the SFTP server.
To upload the file to sftp.oracle.com:
- Open an SFTP client and connect to
sftp.oracle.com
. Specify port2021
and remote directory/support/incoming/
. - Log in with your newly created Oracle Web account (email address) and password.
- Upload the archive to
/support/incoming
. - Once you have uploaded the file, add a comment to this bug to notify us about it.
sftp -oPort=2021 -oUser=email sftp.oracle.com:/support/incoming
Usage Notes: This directory is unlistable, which means that once you have uploaded your file, you will not be able to see it. A file cannot be uploaded more than once with the same filename. The filename must be changed before attempting to upload the file again. The filename should always start with mysql-bug- prefix. Files are retained on the SFTP server for 7 days and then permanently removed.
x86 benchmark
Attachment: x86_eventmutex.png (image/png, text), 70.14 KiB.
Proposal of a patch which provides provable correctness in C++14-compliant environment and performance on ARM
Attachment: seqcst_mutex.patch (application/octet-stream, text), 7.05 KiB.
updated patch
Attachment: patch.bug100132 (application/octet-stream, text), 2.17 KiB.
proposal based on m_waiters.exchange(..) used consistently
Attachment: rb.2 (application/octet-stream, text), 6.18 KiB.
benchmark
Attachment: zipfian-x86.png (image/png, text), 129.72 KiB.
benchmark
Attachment: uniform-x86.png (image/png, text), 128.43 KiB.
benchmark
Attachment: zipfian-arm.png (image/png, text), 129.38 KiB.
benchmark
Attachment: uniform-arm.png (image/png, text), 130.82 KiB.
exchange arm benchmark
Attachment: arm-exchange.png (image/png, text), 98.76 KiB.
exchange x86 benchmark
Attachment: x86-exchange.png (image/png, text), 101.55 KiB.
Data for Proposal-1 and Proposal-2 ARM zipfian
Attachment: summary-arm-zipfian.png (image/png, text), 12.40 KiB.