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

Reduce usage of LOCK_open: TABLE_SHARE::tdc.free_tables

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.0.9
    • 10.0.10
    • None
    • None

    Description

      tc_acquire_table and tc_release_table are critical sections of table cache. Among other things, they update TABLE_SHARE::tdc.free_tables:
      tc_acquire_table - pop TABLE object from free_tables
      tc_release_table - push TABLE object to free_tables

      Updating free_tables list is protected by global mutex. Since free_tables is per-share list we can protect it by per-share mutex instead.

      This is simple intermediate change that improves table cache scalability in many loads.

      Attachments

        Issue Links

          Activity

            Sergei, please review patch for this task.

            svoj Sergey Vojtovich added a comment - Sergei, please review patch for this task.

            Fixed in 10.0.10, revno: 4071, revision-id: svoj@mariadb.org-20140320071113-ql1nx7dc9h22odx3

            svoj Sergey Vojtovich added a comment - Fixed in 10.0.10, revno: 4071, revision-id: svoj@mariadb.org-20140320071113-ql1nx7dc9h22odx3

            People

              svoj Sergey Vojtovich
              svoj Sergey Vojtovich
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.