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

            Transition Time In Source Status Execution Times
            Sergey Vojtovich made transition -
            Open Closed
            5d 18h 49m 1

            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.