[MDEV-32175] References to buf_page_t::frame may cost some performance Created: 2023-09-15  Updated: 2023-12-05

Status: Stalled
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2
Fix Version/s: 10.6, 10.11, 11.0, 11.1, 11.2, 11.3

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Unresolved Votes: 0
Labels: performance

Issue Links:
Relates
relates to MDEV-29445 reorganise innodb buffer pool (and re... Stalled

 Description   

In MDEV-29445, I would like to remove the data member buf_page_t::frame, because there is a simple 1:1 mapping between page frame addresses and block descriptor addresses. That is, the data member would be replaced with a member function buf_page_t::frame(). Because I anticipated the member function calls to cause some performance regression, I thought that it would make sense to remove as many references to buf_page_t::frame as possible.

I just tested this change on top of the latest 10.6. In my quick test (Sysbench oltp_write_only), the performance difference is at most 2%, sometimes showing a regression, sometimes an improvement.

I think that it would be useful to run more tests and refine this patch, to revert parts that are not helpful (causing extra calls to page_align() or page_offset()). The outcome of this might be that it is better to retain the redundant data member buf_page_t::frame in MDEV-29445.



 Comments   
Comment by Julien Fritsch [ 2023-12-05 ]

Automated message:
----------------------------
Since this issue has not been updated since 6 weeks, it's time to move it back to Stalled.

Comment by JiraAutomate [ 2023-12-05 ]

Automated message:
----------------------------
Since this issue has not been updated since 6 weeks, it's time to move it back to Stalled.

Generated at Thu Feb 08 10:29:24 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.