Upstream bug https://bugs.mysql.com/bug.php?id=68079 is fixed since 5.6.16. To fix it new CMake option was introduced, INNODB_PAGE_ATOMIC_REF_COUNT.
This option is visible in the code (MariaDB 10.1, cloned today):
[openxs@centos server]$ git branch
|
* 10.1
|
[openxs@centos server]$ grep -rni INNODB_PAGE_ATOMIC_REF_COUNT *
|
storage/innobase/include/buf0types.h:29:#if defined(INNODB_PAGE_ATOMIC_REF_COUNT) && defined(HAVE_ATOMIC_BUILTINS)
|
storage/innobase/include/buf0types.h:31:#endif /* INNODB_PAGE_ATOMIC_REF_COUNT && HAVE_ATOMIC_BUILTINS */
|
storage/xtradb/include/buf0types.h:29:#if defined(INNODB_PAGE_ATOMIC_REF_COUNT) && defined(HAVE_ATOMIC_BUILTINS)
|
storage/xtradb/include/buf0types.h:31:#endif /* INNODB_PAGE_ATOMIC_REF_COUNT && HAVE_ATOMIC_BUILTINS */
|
[openxs@centos server]$
|
But, as you can see, it is not mentioned in CMakeLists.txt and (probably for this reason) is not used. In the error logs of 10.0.23 we see:
160721 14:22:06 [Note] /home/openxs/10.0.23/bin/mysqld (mysqld 10.0.23-MariaDB-log) starting as process 2418 ...
|
160721 14:22:06 [Note] InnoDB: Using mutexes to ref count buffer pool pages
|
even though this version already uses InnoDB 5.6.26. For comparison, Percona Server 5.6.28 starts like this:
|
...
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Using atomics to ref count buffer pool p
|
ages
|
2016-02-24 18:25:37 1814 [Note] InnoDB: The InnoDB memory heap is disabled
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Mutexes and rw_locks use GCC atomic buil
|
tins
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Memory barrier is not used
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Compressed tables use zlib 1.2.3
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Using Linux native AIO
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Not using CPU crc32 instructions
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Initializing buffer pool, size = 5.0M
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Completed initialization of buffer pool
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Highest supported file format is Barracu
|
da.
|
2016-02-24 18:25:38 1814 [Note] InnoDB: 128 rollback segment(s) are active.
|
2016-02-24 18:25:38 1814 [Note] InnoDB: Waiting for purge to start
|
2016-02-24 18:25:39 1814 [Note] InnoDB: Percona XtraDB (http://www.percona.com)
|
5.6.28-76.1 started; log sequence number 1017098584
|
...
|
In the code of current upstream MySQL 5.6 we see:
[openxs@centos mysql-server]$ grep -rni INNODB_PAGE_ATOMIC_REF_COUNT *
|
CMakeLists.txt:332:OPTION(INNODB_PAGE_ATOMIC_REF_COUNT "Use atomics for the page reference count"
|
CMakeLists.txt:334:MARK_AS_ADVANCED(INNODB_PAGE_ATOMIC_REF_COUNT)
|
config.h.cmake:552:#cmakedefine INNODB_PAGE_ATOMIC_REF_COUNT
|
storage/innobase/include/buf0types.h:29:#if defined(INNODB_PAGE_ATOMIC_REF_COUNT) && defined(HAVE_ATOMIC_BUILTINS)
|
storage/innobase/include/buf0types.h:31:#endif /* INNODB_PAGE_ATOMIC_REF_COUNT && HAVE_ATOMIC_BUILTINS */
|
[openxs@centos mysql-server]$ git branch
|
* 5.6
|
5.7
|
I know there were problems with this option on Windows long time ago, but is it a good reason to NOT use it and related InnoDB scalability improvements?
{"report":{"fcp":1069.1999998092651,"ttfb":252.80000019073486,"pageVisibility":"visible","entityId":57538,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":16,"apdex":0.5,"journeyId":"102a57ab-3624-4936-b0e3-d2f84fdcec42","navigationType":0,"readyForUser":1189,"redirectCount":0,"resourceLoadedEnd":765.4000005722046,"resourceLoadedStart":263.9000005722046,"resourceTiming":[{"duration":35.29999923706055,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":263.9000005722046,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":263.9000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":299.19999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":35.80000019073486,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":264.1000003814697,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":264.1000003814697,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":299.9000005722046,"responseStart":0,"secureConnectionStart":0},{"duration":371,"initiatorType":"script","name":"https://jira.mariadb.org/s/fbf975c0cce4b1abf04784eeae9ba1f4-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":264.19999980926514,"connectEnd":264.19999980926514,"connectStart":264.19999980926514,"domainLookupEnd":264.19999980926514,"domainLookupStart":264.19999980926514,"fetchStart":264.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":302.4000005722046,"responseEnd":635.1999998092651,"responseStart":329.30000019073486,"secureConnectionStart":264.19999980926514},{"duration":495.5999994277954,"initiatorType":"script","name":"https://jira.mariadb.org/s/099b33461394b8015fc36c0a4b96e19f-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":264.4000005722046,"connectEnd":264.4000005722046,"connectStart":264.4000005722046,"domainLookupEnd":264.4000005722046,"domainLookupStart":264.4000005722046,"fetchStart":264.4000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":303.69999980926514,"responseEnd":760,"responseStart":330.1000003814697,"secureConnectionStart":264.4000005722046},{"duration":70.40000057220459,"initiatorType":"script","name":"https://jira.mariadb.org/s/94c15bff32baef80f4096a08aceae8bc-CDN/lu2bu7/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":265.19999980926514,"connectEnd":265.19999980926514,"connectStart":265.19999980926514,"domainLookupEnd":265.19999980926514,"domainLookupStart":265.19999980926514,"fetchStart":265.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":304.6000003814697,"responseEnd":335.6000003814697,"responseStart":331.9000005722046,"secureConnectionStart":265.19999980926514},{"duration":72.90000057220459,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":265.5,"connectEnd":265.5,"connectStart":265.5,"domainLookupEnd":265.5,"domainLookupStart":265.5,"fetchStart":265.5,"redirectEnd":0,"redirectStart":0,"requestStart":304.69999980926514,"responseEnd":338.4000005722046,"responseStart":332.80000019073486,"secureConnectionStart":265.5},{"duration":85.89999961853027,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":265.9000005722046,"connectEnd":265.9000005722046,"connectStart":265.9000005722046,"domainLookupEnd":265.9000005722046,"domainLookupStart":265.9000005722046,"fetchStart":265.9000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":317.1000003814697,"responseEnd":351.80000019073486,"responseStart":341.30000019073486,"secureConnectionStart":265.9000005722046},{"duration":40,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bu7/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":266,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":266,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":306,"responseStart":0,"secureConnectionStart":0},{"duration":85.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":266.19999980926514,"connectEnd":266.19999980926514,"connectStart":266.19999980926514,"domainLookupEnd":266.19999980926514,"domainLookupStart":266.19999980926514,"fetchStart":266.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":317.30000019073486,"responseEnd":352,"responseStart":341.80000019073486,"secureConnectionStart":266.19999980926514},{"duration":47.30000019073486,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bu7/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":266.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":266.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":313.6000003814697,"responseStart":0,"secureConnectionStart":0},{"duration":89.09999942779541,"initiatorType":"script","name":"https://jira.mariadb.org/s/3339d87fa2538a859872f2df449bf8d0-CDN/lu2bu7/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":266.4000005722046,"connectEnd":266.4000005722046,"connectStart":266.4000005722046,"domainLookupEnd":266.4000005722046,"domainLookupStart":266.4000005722046,"fetchStart":266.4000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":321.19999980926514,"responseEnd":355.5,"responseStart":352.4000005722046,"secureConnectionStart":266.4000005722046},{"duration":491.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":270.19999980926514,"connectEnd":270.19999980926514,"connectStart":270.19999980926514,"domainLookupEnd":270.19999980926514,"domainLookupStart":270.19999980926514,"fetchStart":270.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":369.80000019073486,"responseEnd":762,"responseStart":748.9000005722046,"secureConnectionStart":270.19999980926514},{"duration":490.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":274.9000005722046,"connectEnd":274.9000005722046,"connectStart":274.9000005722046,"domainLookupEnd":274.9000005722046,"domainLookupStart":274.9000005722046,"fetchStart":274.9000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":387.30000019073486,"responseEnd":765.4000005722046,"responseStart":754,"secureConnectionStart":274.9000005722046},{"duration":148.20000076293945,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":775.1999998092651,"connectEnd":775.1999998092651,"connectStart":775.1999998092651,"domainLookupEnd":775.1999998092651,"domainLookupStart":775.1999998092651,"fetchStart":775.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":894.4000005722046,"responseEnd":923.4000005722046,"responseStart":922.8000001907349,"secureConnectionStart":775.1999998092651},{"duration":346.3999996185303,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":1062.9000005722046,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1062.9000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1409.3000001907349,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":98,"responseStart":253,"responseEnd":274,"domLoading":259,"domInteractive":1326,"domContentLoadedEventStart":1326,"domContentLoadedEventEnd":1402,"domComplete":2204,"loadEventStart":2204,"loadEventEnd":2204,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1279.3000001907349},{"name":"bigPipe.sidebar-id.end","time":1280.1999998092651},{"name":"bigPipe.activity-panel-pipe-id.start","time":1280.3000001907349},{"name":"bigPipe.activity-panel-pipe-id.end","time":1286.1999998092651},{"name":"activityTabFullyLoaded","time":1420.6000003814697}],"measures":[],"correlationId":"818b4c01e1c54a","effectiveType":"4g","downlink":9.6,"rtt":0,"serverDuration":87,"dbReadsTimeInMs":15,"dbConnsTimeInMs":21,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
svoj Can you have a look if these optimizations are correct for (most) platforms?