Bug #100119 Switch to use relaxed memory barrier for redo-log counters
Submitted: 6 Jul 7:07 Modified: 6 Jul 12:13
Reporter: Krunal Bauskar (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S5 (Performance)
Version:8.0.20 OS:Any
Assigned to: CPU Architecture:ARM
Tags: arm, memory-barrier, performance

[6 Jul 7:07] Krunal Bauskar
Description:
Switch to use relaxed memory barrier for redo-log counters

- REDO Log flow needs multiple counters to track stats like redo-log size,
  free-spaces, flushed_upto lsn, checkpoint_upto lsn, etc....

- All of these counters are meant to track the state of redo log and not for
  the so-called synchronization of critical resources.

- This naturally qualifies them to use relaxed memory barriers as proposed
  in the said patch.

How to repeat:
Apply the patch that I plan to submit as contribution and run some basic performance tests. I tried sysbench performance and observed performance gain with patch applied.
[6 Jul 7:08] Krunal Bauskar
patch for the bug

Attachment: perf#logtypes-memory-barrier.patch (text/x-patch), 4.62 KiB.

[6 Jul 7:09] Krunal Bauskar
arm benchmark

Attachment: arm.png (image/png, text), 104.72 KiB.

[6 Jul 7:09] Krunal Bauskar
x86 benchmark

Attachment: x86.png (image/png, text), 96.44 KiB.

[6 Jul 12:13] MySQL Verification Team
Hi Mr. Bauskar,

Thank your for your performance improvement report.

I have tested it and I conclude that it is correct.

Verified as reported.