Bug #91759 Simplified away ReadView::complete()

Submitted: 23 Jul 2018 6:43 Modified: 26 Jul 2018 11:20
Reporter: Sandeep Sethia (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S5 (Performance)
Version:5.7 OS:CentOS
Assigned to: CPU Architecture:ARM
Tags: Contribution, innodb

[23 Jul 2018 6:43] Sandeep Sethia
Description:
It was supposed to be called out of mutex, but nevertheless was called under mutex for normal threads adding one extra condtion in critical section.

How to repeat:
Code review and tested the patch using sysbench oltp workload.
[23 Jul 2018 6:44] Sandeep Sethia
Simplied read view :complete()

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

Contribution: simpifiedreadview.patch (application/octet-stream, text), 2.30 KiB.

[23 Jul 2018 6:44] Sandeep Sethia
Simplied read view :complete()

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

Contribution: simpifiedreadview.patch (application/octet-stream, text), 2.30 KiB.

[23 Jul 2018 7:20] MySQL Verification Team
Hello Sandeep Sethia,

Thank you for the report and contribution.

Thanks,
Umesh
[24 Jul 2018 11:41] Bin Su
Posted by developer:
 
This also exists in 5.7 code. But not sure if it's worth fixing it in 5.7, since no performance gain number for it.
[24 Jul 2018 14:11] Bin Su
Posted by developer:
 
Since this also exists in 5.7, change the reported version to 5.7
[25 Jul 2018 6:03] Sandeep Sethia
Changed to 5.7 . This is more to do with cleanup of code than performance.
[26 Jul 2018 11:20] Daniel Price
Posted by developer:
 
Fixed as of the upcoming 8.0.13 release, and here's the changelog entry:

A conditional check was removed by removing the ReadView::complete()
function and splitting its work among other functions. This change helps
optimize performance on ARM 64-bit.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.