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

Enable spinning for log_sys_mutex and log_flush_order_mutex

    XMLWordPrintable

    Details

      Description

      As part of MDEV-26779 we first discovered the effect of enabling spinning for some critical mutex.
      MDEV-26779 tried enabling it for lock_sys.wait_mutex and observed a good gain in performance.

      In yet another discussion, Mark Callaghan pointed to a reference to pthread based mutex spin using PTHREAD_MUTEX_ADAPTIVE_NP (MDEV-26769 Intel RTM).

      Given the strong references, Marko Makela as part of his comment in #1923 pointed an idea to enable
      spinning for other mutexes. Based on perf profiling we decided to explore spinning for
      log_sys_mutex and log_flush_order_mutex as they are occupying the top slots in the contented mutex list.

      The evaluation showed promising results for ARM64 but not for x86.
      So a patch is here-by proposed to enable the spinning of the mutex for ARM-based platform.

        Attachments

        1. arm.png
          arm.png
          90 kB
        2. x86.png
          x86.png
          89 kB

          Issue Links

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              krunalbauskar Krunal Bauskar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration