Bug #97765 innobase/os: refine os_total_large_mem_allocated with c++11 atomics
Submitted: 25 Nov 2019 8:09 Modified: 25 Nov 2019 8:32
Reporter: Cai Yibo (OCA) Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: InnoDB storage engine Severity:S5 (Performance)
Version:8.0 OS:Any
Assigned to: CPU Architecture:ARM
Tags: Contribution

[25 Nov 2019 8:09] Cai Yibo
This is followup patch of Bug #96504(Refine atomics and barriers for weak memory order platform).
It depends on the patch for Bug #97150.

"os_total_large_mem_allocated" is a counter, only atomicity is required.
Current code uses gcc __sync_xxx builtins which introduces unnecessary
memory barriers.

Refine it with C++11 relaxed memory order.

How to repeat:
[25 Nov 2019 8:09] Cai Yibo

(*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

Contribution: 0001-innobase-os-refine-os_total_large_mem_allocated-with.patch (text/x-patch), 4.56 KiB.

[25 Nov 2019 8:32] MySQL Verification Team
Hello Cai Yibo,

Thank you for the report and contribution.