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

Reduce CPU load due to unnecessary accept() calls

Details

    Description

      Each time a listener socket becomes ready, MariaDB calls accept() ten times (MAX_ACCEPT_RETRY), even if all but the first one return EAGAIN because there are no more connections.
      This causes unnecessary CPU usage - on our server, the CPU load of that thread, which does nothing but accept(), saturates one CPU core by ~45%.
      The loop should stop after the first EAGAIN.

      Attachments

        Activity

          maxk Max Kellermann created issue -
          serg Sergei Golubchik made changes -
          Field Original Value New Value
          Priority Trivial [ 5 ] Major [ 3 ]
          serg Sergei Golubchik made changes -
          Affects Version/s 10.5 [ 23123 ]
          Affects Version/s 10.6 [ 24028 ]
          Affects Version/s 10.11 [ 27614 ]
          Affects Version/s 11.4 [ 29301 ]
          serg Sergei Golubchik made changes -
          Fix Version/s 10.6 [ 24028 ]
          Fix Version/s 10.11 [ 27614 ]
          Fix Version/s 11.4 [ 29301 ]
          serg Sergei Golubchik made changes -
          Assignee Sergei Golubchik [ serg ]
          serg Sergei Golubchik made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          serg Sergei Golubchik made changes -
          Assignee Sergei Golubchik [ serg ] Vladislav Vaintroub [ wlad ]
          Status In Progress [ 3 ] In Review [ 10002 ]
          wlad Vladislav Vaintroub made changes -
          Status In Review [ 10002 ] Stalled [ 10000 ]
          wlad Vladislav Vaintroub made changes -
          issue.field.resolutiondate 2024-09-24 19:45:12.0 2024-09-24 19:45:12.279
          wlad Vladislav Vaintroub made changes -
          Fix Version/s 10.5.27 [ 29902 ]
          Fix Version/s 10.6 [ 24028 ]
          Fix Version/s 10.11 [ 27614 ]
          Fix Version/s 11.4 [ 29301 ]
          Resolution Fixed [ 1 ]
          Status Stalled [ 10000 ] Closed [ 6 ]
          JIraAutomate JiraAutomate made changes -
          Fix Version/s 10.6.20 [ 29903 ]
          Fix Version/s 10.11.10 [ 29904 ]
          Fix Version/s 11.2.6 [ 29906 ]
          Fix Version/s 11.4.4 [ 29907 ]
          wlad Vladislav Vaintroub made changes -
          Labels performance

          People

            wlad Vladislav Vaintroub
            maxk Max Kellermann
            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.