Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-30216

Read-ahead unnecessarily allocates and frees pages when a page is in the buffer pool

    XMLWordPrintable

Details

    Description

      While testing MDEV-29986 and some other changes, wlad noted that the function buf_read_page_low() is allocating and freeing a block in buf_pool.LRU when the requested page exists in the buffer pool.

      The code has been refactored in 10.5 and 10.6, but this does not look like a regression: the logic always seems to have been like that.

      Thanks to the refactored buf_pool.page_hash in 10.5 (MDEV-22871) and the lock elision (MDEV-26769), it could be faster to perform extra lookups to avoid unnecessary allocation and some contention on buf_pool.mutex.

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.